全局等待和全局启动driver
package startAndWait; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.interactions.Actions; import org.openqa.selenium.support.PageFactory; import org.openqa.selenium.support.ui.ExpectedCondition; import org.openqa.selenium.support.ui.Wait; import org.openqa.selenium.support.ui.WebDriverWait; import pages.LoginPage; import java.awt.AWTException; import java.awt.Robot; import org.openqa.selenium.JavascriptExecutor; public class StartChormeAndWait { //定义静态变量driver public static WebDriver driver; //初始化浏览器 public static void startChrome(WebDriver webDriver){ ChromeOptions options = new ChromeOptions(); options.addArguments("--test-type"); System.setProperty("webdriver.chrome.driver", "drivers\\chromedriver.exe"); driver= new ChromeDriver(options); driver=webDriver; } public void WaitForPageLoaded(WebDriver driver) throws AWTException { PageFactory.initElements(driver, this); this.driver=driver; } //等待页面加载时间 public static void waitForPage(WebDriver myDriver)throws Exception { ExpectedCondition<Boolean> expectation = new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver driver) { return ((JavascriptExecutor) driver).executeScript( "return document.readyState").toString().equalsIgnoreCase("complete"); } }; Wait<WebDriver> wait = new WebDriverWait(myDriver, 30); try { wait.until(expectation); } catch (Exception e) { System.out.println("Timeout waiting for Page Load Request to complete."); } //System.out.println("before sync: " + Global.getDriver().executeScript("return document.readyState").toString()); //Thread.sleep(5000); //System.out.println("after sync: " + Global.getDriver().executeScript("return document.readyState").toString()); Thread.sleep(500); } }