import java.util.concurrent.TimeUnit;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
/*
*使用显示等待,操作页面元素
*
*/
class IsWaiting {
//定义Webdriver
WebDriver driver;
//定义访问网址
String baseurl;
@BeforeEach
void setUp() throws Exception {
//谷歌浏览器的本地驱动
System.setProperty("webdriver.chrome.driver", "/Users/lisen/webselenium/selenium/chromedriver");
//new一个谷歌浏览器对象
driver =new ChromeDriver();
//定义访问网址,访问的是雅虎
baseurl="https://www.yahoo.com/";
//打开网址过后,设置隐性等待,等待10秒
//driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//打开网址后,窗口最大化
driver.manage().window().maximize();
}
@Test
void test() {
//打开网址,调用driver.get方法
driver.get(baseurl);
//打印log信息
System.out.println("打开网址完成");
//点击雅虎登陆按钮
driver.findElement(By.id("uh-signin")).click();
//打印log信息
System.out.println("点击网址完成");
//设置显示等待
WebDriverWait wait = new WebDriverWait(driver, 3);
WebElement emailField=wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("uh-signin")));
emailField.sendKeys("test");
}
@AfterEach
void tearDown() throws Exception {
//设置等待时间,看清楚操作
Thread.sleep(2000);
//关闭浏览器
driver.quit();
}
}