WebDriver自定义显示等待条件

资源推荐:

视频资源: 软件测试相关系列视频

社区资源: 自动化测试交流群

方法一:结合使用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");

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晒酷网-Ray

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值