您的位置:首页 > 其它

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;

}

});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: