Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 能够安装amazon应用程序但无法打开它_Java_Selenium_Mobile_Appium - Fatal编程技术网

Java 能够安装amazon应用程序但无法打开它

Java 能够安装amazon应用程序但无法打开它,java,selenium,mobile,appium,Java,Selenium,Mobile,Appium,在apk文件的帮助下,我可以安装android应用程序,但它没有打开。请查看我的代码一次: package Test1; import io.appium.java_client.android.AndroidDriver; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.util.List; import java.util.concurrent.Tim

在apk文件的帮助下,我可以安装android应用程序,但它没有打开。请查看我的代码一次:

package Test1;

import io.appium.java_client.android.AndroidDriver;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class Amazon_LogIn_Test {
private static AndroidDriver driver;

@BeforeMethod
@Test
public void setUp() throws Exception  {

File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "/Apps/Amazon/");
File app = new File(appDir, "com.amazon.mShop.android.shopping-5.2.3-502030-  minAPI9.apk");

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability("deviceName", "BECUPJTWGA7HAQQK");
capabilities.setCapability("platformVersion", "5");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appPackage", "com.amazon.mShop.android.shopping");
capabilities.setCapability("appActivity",   "com.amazon.mShop.splashscreen.StartupActivity");

driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
Thread.sleep(10000);

    // Click on Shop by Deparment link
     driver.findElement(By.id("com.amazon.mShop.android.shopping:id/search_edit_text")).click();
    // Click on Main menu
    driver.findElementByClassName("android.widget.ImageView").click();
    // Click on Home link under Main menu
    driver.findElement(By.name("Home")).click();
    // Click on Sign In link on the Home Screen
    driver.findElementByName("Sign inHello. Link").click();

    Thread.sleep(10000);
    driver.findElement(By.xpath("//*[@content-desc='Hello. Sign in']"));

}

通过上面的代码,我可以安装amazon应用程序,也可以打开该应用程序,但单击登录选项的最后一行没有被单击,我尝试了多种方法来完成此操作。请在这方面帮助我。

在所需功能下而不是登录活动,请使用splash活动,您需要更改以下行代码中的活动:

capabilities.setCapability("appActivity","com.amazon.mShop.sso.SigninPromptActivity")

在“所需功能”而不是“登录”活动下,请使用“启动”活动,您需要更改以下代码行中的活动:

capabilities.setCapability("appActivity","com.amazon.mShop.sso.SigninPromptActivity")
尝试以下活动:

capabilities.setCapability("appPackage", "in.amazon.mShop.android.shopping");
capabilities.setCapability("appActivity",   "com.amazon.mShop.splashscreen.StartupActivity");
我认为您的软件包名称是错误的,应该是“in.amazon.mShop.android.shopping”,而不是“com.amazon.mShop.android.shopping”

试试这个appActivity:

capabilities.setCapability("appPackage", "in.amazon.mShop.android.shopping");
capabilities.setCapability("appActivity",   "com.amazon.mShop.splashscreen.StartupActivity");


我认为您的软件包名称错误,应该是“in.amazon.mShop.android.shopping”而不是“com.amazon.mShop.android.shopping”

这是因为您指向的不是当前的发布活动,你需要在你想要的能力中提到发布活动。我没有准确地告诉你这是因为你指向的不是当前的发布活动,你需要在你想要的功能中提及启动活动或我没有准确地了解你或我没有准确地了解你…你能解释一下我对这一点非常陌生在appium显示的活动列表中,你正在使用的应用内活动功能登录活动,即“com.amazon.mShop.sso.signinCompactivity”,在列表中您可以找到splash activity,开发者通常使用splash activity来启动应用程序。如何获得splash activity,请您提供帮助,我可以知道您是如何获得显著性能的吗?所以我可以很快回答你的问题。。尝试一下splash活动“com.amazon.mShop.splashscreen.StartupActivity”谢谢你的帮助,现在该应用程序正在打开,但我在编辑的问题中又提到了一个问题,请看一看……谢谢,我没有完全理解你……你能解释一下我在appium显示的活动列表中对此很新吗,应用内活动功能您正在使用登录活动,即“com.amazon.mShop.sso.signinCompactivity”,在列表中您可以找到splash活动,通常开发人员使用splash活动来启动应用程序。如何获得该splash活动,请您提供帮助。我可以知道您是如何获得SigninCompactivity的吗?所以我可以很快回答你的问题。。请尝试splash活动“com.amazon.mShop.splashscreen.StartupActivity”谢谢您的帮助,现在该应用程序正在打开,但还有一个问题我在编辑的问题中提到过,请看一看……谢谢感谢感谢它成功了,但还有一个问题是它没有单击登录选项。您可以发布屏幕截图吗?谢谢您的快速回复,实际上,您在上述代码中提到的登录定位器和屏幕截图的详细信息不匹配,最好使用如下资源id driver.findElementById(“com.amazon.mShop.android.shopping:id/gw mobile greeting bar”)。单击();感谢它的工作,但还有一个问题是它没有点击登录选项你可以发布屏幕截图吗?感谢你的快速响应,实际上你在上面提到的登录定位器代码和屏幕截图细节不匹配,你可以更好地使用像这样的资源id,driver.findElementById(“com.amazon.mShop.android.shopping:id/gw mobile greeting bar”)。单击();