我希望能够在我的移动自动化套件中使用同一时间的多个方法。意味着每次我只调用Method并仅更新“ elementName”(AndroidElement)。
我试过了:
public void waitForScreenToLoad(AndroidElement elementName){
(new WebDriverWait(driver,30)).until(ExpectedConditions.presenceOfElementLocated(By.id(elementName.getId())));
}
在我的测试中,我会这样称呼它
MessageCenterScreen message = new MessageCenterScreen(driver);
base.waitForScreenToLoad(message.addCardButton);
但是我的测试失败了,因为它找不到存在的元素。
我使用Page Factory模型来定位元素
@FindBy(id = "widget_loading_fab_button")
public AndroidElement addCardButton;
这样,它可以正常工作,但是问题是:我不想一直重复我的方法。
public void waitForCardManagementScreenToLoad() {
(new WebDriverWait(driver, 30)).until(ExpectedConditions.presenceOfElementLocated(By.id("widget_loading_fab_button")));
}
最佳答案
public void waitForScreenToLoad(AndroidElement element){
(new WebDriverWait(driver,30)).until(ExpectedConditions.visibilityOf(element));
}
使用ExpectedConditions.visibilityOf