如何在自动化 Android 应用程序时通过单击 appium 中的主页按钮导航到主屏幕?
How can I navigate to home screen by clicking home button in appium while automatiing Android app?
In one test cases I used this
@Test
public void Test1()
{
driver.launchApp();
System.out.println("this is First test in appium suite");
((AppiumDriver) driver).sendKeyEvent(AndroidKeyCode.HOME); // This line of code gives error.
}
我认为你的代码是正确的 driver.sendKeyEvent(AndroidKeyCode.HOME);
必须工作,你可以尝试在 driver.launchAPP();
方法之后给出一些超时,因为它可能会尝试在应用程序启动之前打印行并导航到主页。
使用Thread.sleep(5000)
;在 driver.launchAPP();
之后告诉我它是否有效。
到目前为止,如果您使用的是 appium 的 java 客户端更新版本(ver 3.2.0),则无法返回。
您可以使用以下方法将应用程序保留在后台所需的时间:
driver.runAppInBackground(120); //where time:120 is in seconds
driver.findElementByClassName("android.widget.ImageButton").click();
WebDriverWait wait = new WebDriverWait(driver, 1000);
wait.until(new Predicate<WebDriver>() {
@Override
public boolean apply(WebDriver input) {
return input.findElement(By.name("Login")) != null;
}
});
driver.navigate().back();
In one test cases I used this
@Test
public void Test1()
{
driver.launchApp();
System.out.println("this is First test in appium suite");
((AppiumDriver) driver).sendKeyEvent(AndroidKeyCode.HOME); // This line of code gives error.
}
我认为你的代码是正确的 driver.sendKeyEvent(AndroidKeyCode.HOME);
必须工作,你可以尝试在 driver.launchAPP();
方法之后给出一些超时,因为它可能会尝试在应用程序启动之前打印行并导航到主页。
使用Thread.sleep(5000)
;在 driver.launchAPP();
之后告诉我它是否有效。
到目前为止,如果您使用的是 appium 的 java 客户端更新版本(ver 3.2.0),则无法返回。
您可以使用以下方法将应用程序保留在后台所需的时间:
driver.runAppInBackground(120); //where time:120 is in seconds
driver.findElementByClassName("android.widget.ImageButton").click();
WebDriverWait wait = new WebDriverWait(driver, 1000);
wait.until(new Predicate<WebDriver>() {
@Override
public boolean apply(WebDriver input) {
return input.findElement(By.name("Login")) != null;
}
});
driver.navigate().back();