Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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 应用程序在登录应用程序测试期间崩溃_Java_Android_Appium_Mobile Application - Fatal编程技术网

Java 应用程序在登录应用程序测试期间崩溃

Java 应用程序在登录应用程序测试期间崩溃,java,android,appium,mobile-application,Java,Android,Appium,Mobile Application,我正在编写登录到我的android应用程序的第一个测试。我输入了有效的用户凭据(电话和密码),然后输入了pin码(1111),然后确认了该pin码。但在最后一次pincode.click()之后,我的应用程序崩溃,而不是身份验证过程,appium测试失败(但当我手动登录应用程序时,它不会崩溃) 我尝试使用Thread.sleep()和WebDriverWait,但没有任何帮助 为什么应用程序会崩溃并且没有完成身份验证,为什么它没有遵循pincode.click()之后的代码执行 这是我代码的一部

我正在编写登录到我的android应用程序的第一个测试。我输入了有效的用户凭据(电话和密码),然后输入了pin码(1111),然后确认了该pin码。但在最后一次
pincode.click()
之后,我的应用程序崩溃,而不是身份验证过程,appium测试失败(但当我手动登录应用程序时,它不会崩溃)

我尝试使用
Thread.sleep()
WebDriverWait
,但没有任何帮助

为什么应用程序会崩溃并且没有完成身份验证,为什么它没有遵循
pincode.click()之后的代码执行

这是我代码的一部分:

@Test
public void SimpleTest() throws InterruptedException, MalformedURLException {

    Assert.assertNotNull(driver.getContext());

    WebElement phoneLoginField = driver.findElement(By.id("login_field"));
    phoneLoginField.click();
    phoneLoginField.sendKeys("9006400145");

    WebElement passwordField = driver.findElement(By.id("password_field"));
    passwordField.click();
    passwordField.sendKeys("123456");

    WebElement loginButton = driver.findElement(By.id("submit_button"));
    loginButton.click();

    WebElement pincode = driver.findElement(By.id("pincode_one"));

    pincode.click();
    pincode.click();
    pincode.click();
    pincode.click();

    pincode.click();
    pincode.click();
    pincode.click();
    pincode.click();

    WebElement sidebarMenu = driver.findElement(By.className("android.widget.ImageButton"));
    sidebarMenu.click();
}

要调查应用程序崩溃的原因,您需要查看手机日志。您可以为此使用Android调试器(adb)。例如:


有关如何使用adb的更多信息,请参阅。

我通过在DesiredCapabilities-SplashScreenActivity而不是AuthenticatorActivity中选择另一个要启动的应用程序活动来解决此问题,这似乎是一个奇怪的解决方案,但它可以工作…

为什么有八个
pincode。单击()
calls?我们必须首先在应用程序键盘上设置pin码,然后输入“1”四次,得到“1111”。然后我们必须确认pin码并重复上述输入查看
adb
以调试您的应用程序。如果你的应用程序崩溃,你很可能会在日志中找到原因。
adb bugreport C:\Reports\MyBugReports