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);
}
}