任何人都可以让我知道在POM frameowrk中实现显式等待的方式和位置吗?
我的意思是,我应该在哪里实现显式等待代码?在POM类或测试用例类中?
从现在起,我已经在POM类和构造函数体内实现了EW代码行,代码
public RegistrationPage (WebDriver driver)
{
PageFactory.initElements(driver, this);
new WebDriverWait(driver, 30).until(ExpectedConditions.visibilityOf(GenderRadioButton));
}
这对我来说很好,但不能100%确定这是否是一个正确的地方来实现明确等待,需要对此plz有所了解
--- Ram
答案 0 :(得分:0)
你可以试试这个:
public RegistrationPage (WebDriver driver, int timeOutSeconds)
{
driver.manage().timeouts().implicitlyWait(timeOutSeconds, TimeUnit.SECONDS);
PageFactory.initElements(driver, this);
new FluentWait<WebDriver>(driver)
.withTimeout(timeOutSeconds, TimeUnit.SECONDS)
.pollingEvery(RETRY_TIME, TimeUnit.SECONDS)
.ignoring(NoSuchElementException.class)
.until(ExpectedConditions
.visibilityOf(By.xpath(xpath)))
driver.manage().timeouts().implicitlyWait(timeOutSeconds, CLASS_VARIABLE_IMPLICIT_TIMEOUT);
}