【发布时间】:2019-01-03 04:10:49
【问题描述】:
在添加功能(“automationname”、“uiautomator2”)之前,我的代码运行良好。但是,在我使用 uiautomator2 之后,implicitlyWait 不起作用。代码不会等待元素出现。如果元素不存在,自动化将很快关闭。从一项活动转移到另一项活动时也会发生这种情况。谁能帮我解决这个问题?
下面是我的设置代码:
public void setUp() {
System.out.println("Creating session.....");
String path = System.getProperty("user.dir");
DesiredCapabilities cap = new DesiredCapabilities();
cap.setCapability("platformName", "Android");
cap.setCapability("platformVersion", "6.0.1");
cap.setCapability("deviceName", "88929a3d");
cap.setCapability("automationName", "uiautomator2");
cap.setCapability("appPackage", "io.selendroid.testapp");
cap.setCapability("appActivity", "HomeScreenActivity");
cap.setCapability("appWaitActivity", "HomeScreenActivity, RegisterUserActivity");
cap.setCapability("appWaitDuration", 3000);
cap.setCapability("app", path + "//apk//selendroid.apk");
try {
driver = new AndroidDriver<>(new URL("http://localhost:4723/wd/hub"), cap);
} catch (MalformedURLException e) {
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);
System.out.println("Session is created successfully");
}
【问题讨论】:
-
如果设置“Appium”而不是“uiautomator2”会发生什么?
-
您根本不需要设置该功能。但是,您应该考虑将驱动程序声明更改为
AndroidDriver<AndroidElement>并在代码中使用AndroidElement对象而不是WebElement对象。 -
@pankajmishra 它将返回到 uiautomator 并且不再使用 uiautomator2
-
@BillHileman 我已经尝试过了,它不会影响任何事情。我仍然能够找到所有元素。这对我的情况没有影响
标签: java android automation appium android-uiautomator