[selenium] selenium+java+TestNG 自定義顯示等待
阿新 • • 發佈:2019-02-01
package APItest;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class ExplicitWaitBySelfDefined {
public WebDriver driver;
private String url ="http://www.baidu.com";
@Test
public void f() {
WebElement inputBox = (new WebDriverWait(driver, 10)).until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d){
return d.findElement(By.id("kw"));
}
});
Assert.assertEquals("wd", inputBox.getAttribute("name"));
Boolean buttonFlag = (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>(){
@Override
public Boolean apply(WebDriver dri){
return dri.findElement(By.id("su")).isDisplayed();
}
});
Assert.assertTrue(buttonFlag);
}
@BeforeMethod
public void beforeMethod() throws InterruptedException {
System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
driver = new ChromeDriver();
System.out.println("open url");
driver.get(url);
}
@AfterMethod
public void afterMethod() {
driver.quit();
}
}
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriverException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
public class ExplicitWaitBySelfDefined {
public WebDriver driver;
private String url ="http://www.baidu.com";
@Test
public void f() {
WebElement inputBox = (new WebDriverWait(driver, 10)).until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d){
return d.findElement(By.id("kw"));
}
});
Assert.assertEquals("wd", inputBox.getAttribute("name"));
Boolean buttonFlag = (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>(){
@Override
public Boolean apply(WebDriver dri){
return dri.findElement(By.id("su")).isDisplayed();
}
});
Assert.assertTrue(buttonFlag);
}
@BeforeMethod
public void beforeMethod() throws InterruptedException {
System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
driver = new ChromeDriver();
System.out.println("open url");
driver.get(url);
}
@AfterMethod
public void afterMethod() {
driver.quit();
}
}