当我在本地设备上使用maven执行相同的代码时,它工作正常,但在应用程序中心失败。 我无法分析为什么此元素不可见的问题,但是我确定这是正确的问题。
代码:
public void onBoarding() throws InterruptedException {
WebDriverWait wait = new WebDriverWait(driver,50);
logger.info("launching the app");
wait.until(ExpectedConditions.visibilityOfElementLocated(MobileBy.accessibilityId("action button")));
MobileElement getStarted = driver.findElementByaccessibilityId("action button");
getStarted.click();
wait.until(ExpectedConditions.visibilityOfElementLocated(MobileBy.accessibilityId("action button")));
MobileElement clickNCont = driver.findElementByaccessibilityId("action button");
clickNCont.click();
wait.until(ExpectedConditions.visibilityOfElementLocated(MobileBy.accessibilityId("Mobile-field")));
MobileElement mobNumberField = driver.findElementByaccessibilityId("Mobile-field");
mobNumberField.sendKeys("XXXXXXX");
wait.until(ExpectedConditions.visibilityOfElementLocated(MobileBy.accessibilityId("action button")));
MobileElement nextBtn = driver.findElementByaccessibilityId("action button");
nextBtn.click();
Thread.sleep(1000);
wait.until(ExpectedConditions.visibilityOfElementLocated(MobileBy.accessibilityId(("Code-field"))));
MobileElement smsField = driver.findElement(By.id("Code-field"));
smsField.sendKeys("XXXX");
...
}