问题点:太久没有写selenium代码,居然把driver公用的问题忘记了,即:每写一个测试类,执行过程中都会新建一个窗口,这样应该说是非常不专业的。
大概想了一个方法,虽然看起来也不怎么专业,但感觉能用就很开心了。
解决步骤:
1 创建一个获取获取driver的方法getDriver()
2 创建成员变量,将 getDriver()赋值给成员变量
3 其他业务类在使用driver时,都可以通过父类.driver的方式,获取同一个driver
public class Login{
private static final String userName="[email protected]";
private static final String password="123456";
public static final WebDriver driver=getDriver();
public Login(){}
//获取驱动
public static WebDriver getDriver(){
System.setProperty("webdriver.chrome.driver","other/../../../chromedriver.exe");
WebDriver drivers=new ChromeDriver();
return drivers;
}
public static void LoginUser() {
WebDriver driver=Login.driver;
driver.get("http://testAdress.com/#/login");
driver.navigate().refresh();
sleep(1);
driver.findElement(By.xpath("/html/body/div[1]/div[1]/div/div[2]/div[2]/div/div[1]/form/div[1]/div/div/input")).sendKeys(userName);
driver.findElement(By.xpath("/html/body/div[1]/div[1]/div/div[2]/div[2]/div/div[1]/form/div[2]/div/div[1]/input")).sendKeys(password);
driver.findElement(By.xpath("/html/body/div[1]/div[1]/div/div[2]/div[2]/div/div[1]/form/div[4]/button")).click();
}
}
提示:如果有用,请不要照搬,因为只截取了一部分代码,没有将完整的类贴出来!
原文地址:https://www.cnblogs.com/wujianqinjian/p/9146359.html
时间: 2024-11-10 06:50:56