Appium - 查找元素不一致



我目前在Appium中为Appium编写测试时会遇到非常烦人的情况:
有时,某些元素(相同的2个元素(并未一致发现每个测试。

这是我的测试代码:

    WebDriverWait wait = new WebDriverWait(driver, 30);
    wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("com.*****.android.g******:id/passwordText"),"Code"));
    MobileElement we = (MobileElement) driver.findElementById("com.******.android.*******:id/passwordText");
    we.click();
    we.sendKeys(password);
    CodePage codePage = new CodePage(driver);
    codePage.loginBtn.click();
    wait.until(ExpectedConditions.textToBePresentInElementLocated(By.id("com.*****.android.*******:id/action_done"), "FINISH"));
    BaseTutorialPage btp = new BaseTutorialPage(driver);
    btp.finishBtn.click();

在这里,您可以看到两个有问题的字段:我们(PIN号字段(和finishbtn,这是一个要单击的按钮。
我尝试在等待部分使用几个远程条件,但这一切都相同,有时它有效,有时它不

在这里我设置了帽子:

    File app = new File(f, "app-debug.apk");
    DesiredCapabilities cap = new DesiredCapabilities();
    cap.setCapability(MobileCapabilityType.DEVICE_NAME,"test");
    cap.setCapability("newCommandTimeout", 60 * 10);
    cap.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());
    cap.setCapability("appWaitActivity", "com.*******.android.*****.registartion.LoginActivity");
    AppiumDriver driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
    return driver;

我使用的版本:
Appium 1.7.2
Java-client 5.0.4(还尝试了最新的beta(

对于任何寻求答案的人,我只是将automationname升级到uiautomator2,并解决了问题。

最新更新