WebDriver自定义显示等待条件
资源推荐:视频资源: 软件测试相关系列视频社区资源: 自动化测试交流群方法一:结合使用WebDriverWait,ExpectedConditions完成,注意,经过我反复测试才发现,这个方法目的是检查某个元素的innerText是否在指定时间范围内出现,我通过修改locator为不存在的情况下,同样会等待30s WebDriverWait wait = new WebDri...
资源推荐:
视频资源: 软件测试相关系列视频
社区资源: 自动化测试交流群
方法一:结合使用WebDriverWait,ExpectedConditions完成,注意,经过我反复测试才发现,这个方法目的是检查某个元素的innerText是否在指定时间范围内出现,我通过修改locator为不存在的情况下,同样会等待30s
WebDriverWait wait = new WebDriverWait(driver,5);//设置等待时间为5s,5s后如还没有出现则抛出异常
if(wait.until(
ExpectedConditions.textToBePresentInElement(
By.cssSelector("a[mon='ct=1&a=1&c=top&pn=0']"), "hello" //hello为此元素的innerText
)
)){
driver.findElement(By.linkText("总政治部副主任吴昌德等6人晋升上将")).click();
}
方法二:结合使用WebDriverWait,ExpectedConditions完成自定义的预期条件,此方法可以定义等待指定元素的超时时间,此方法比较灵活,可以自己定义出自己任何预期的等待条件,以下是我测试过的两个小case
case1:
WebDriverWait wait = new WebDriverWait(driver,5);
WebElement element = wait.until(new ExpectedCondition<WebElement>(){
@Override //覆写apply方法
public WebElement apply(WebDriver driver) {
WebElement element = driver.findElement(By.linkText("总政治部副主任吴昌德等6人晋升上将将"));
return element;
}
});
element.click();
case2:
WebDriverWait wait = new WebDriverWait(driver,5);
boolean flag = wait.until(new ExpectedCondition<Boolean>(){
@Override
public Boolean apply(WebDriver driver) {
Boolean flag = driver.findElement(By.id("userName")).getAttribute("readonly").contains("true");
return flag;
}
});
element.sendkeys("username");
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)