selenium webdriver 学习总结-Selenium 控制测试流_补充显示等待(五)
2017-09-03 18:31
417 查看
补充显示等待,深入使用FluentWait 与 Predicate、Funciton
package demo;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.FluentWait;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
public class TestWait {
private WebDriver driver;
@Test
public void testPredicate(){
FluentWait wait = new FluentWait(this.driver);
wait.pollingEvery(50,TimeUnit.MILLISECONDS).withTimeout(10,TimeUnit.SECONDS);
wait.until(new Predicate(){
@Override
public boolean apply(WebDriver driver) {
try{
return driver.findElement(By.id("hello")).isDisplayed();
}catch(NoSuchElementException e){
return false;
}
}
});
}
@Test
public void testFunction(){
FluentWait wait = new FluentWait(this.driver);
wait.withTimeout(10,TimeUnit.SECONDS).pollingEvery(10,TimeUnit.MILLISECONDS).ignoring(NoSuchElementException.class);
wait.until(new Function(){
@Override
public WebElement apply(WebDriver driver) {
WebElement element = driver.findElement(By.id("hello"));
return element;
}
});
}
}
package demo;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.ui.FluentWait;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
public class TestWait {
private WebDriver driver;
@Test
public void testPredicate(){
FluentWait wait = new FluentWait(this.driver);
wait.pollingEvery(50,TimeUnit.MILLISECONDS).withTimeout(10,TimeUnit.SECONDS);
wait.until(new Predicate(){
@Override
public boolean apply(WebDriver driver) {
try{
return driver.findElement(By.id("hello")).isDisplayed();
}catch(NoSuchElementException e){
return false;
}
}
});
}
@Test
public void testFunction(){
FluentWait wait = new FluentWait(this.driver);
wait.withTimeout(10,TimeUnit.SECONDS).pollingEvery(10,TimeUnit.MILLISECONDS).ignoring(NoSuchElementException.class);
wait.until(new Function(){
@Override
public WebElement apply(WebDriver driver) {
WebElement element = driver.findElement(By.id("hello"));
return element;
}
});
}
}
相关文章推荐
- selenium webdriver 学习总结-Selenium 控制测试流_补充显示等待(五)
- selenium webdriver 学习总结-Selenium 控制测试流(五)-补充显示等待
- selenium webdriver 学习总结-JUnit4 入门(三)-补充枚举
- selenium webdriver 学习总结-JUnit4 入门(三)_补充Annotation
- selenium webdriver 学习总结-JUnit4 入门_补充枚举 (三)
- selenium webdriver 学习总结-JUnit4 入门_补充Annotation(三)
- selenium webdriver 学习总结-JUnit4 入门_补充Annotation(三)
- Fixing “selenium.common.exceptions.WebDriverException: Message: ‘Can\’t load the profile.” 分类: 问题总结 python下载 ubuntu python基础学习 2014-01-20 15:28
- selenium webdriver 学习总结-浏览器启动方式(二)
- ruby+selenium-webdriver一步一步进行自动化测试----学习总结陈述
- Selenium Webdriver 学习总结-Selenium Grid & Webdriver(九)
- selenium webdriver 学习总结-数据驱动(六)
- Selenium Webdriver 学习总结-Jenkins配置(八)
- selenium webdriver 学习总结-元素定位
- Selenium2.0之WebDriver学习总结(1)
- Selenium2.0之WebDriver学习总结(3)
- Selenium2.0之WebDriver学习总结(2)
- selenium webdriver 学习总结-浏览器启动方式
- Selenium2.0之WebDriver学习总结(2)
- selenium webdriver 学习总结-JUnit4 入门(三)