问题点: 太久没有写 selenium 代码, 居然把 driver 公用的问题忘记了, 即: 每写一个测试类, 执行过程中都会新建一个窗口, 这样应该说是非常不专业的.
大概想了一个方法, 虽然看起来也不怎么专业, 但感觉能用就很开心了.
解决步骤:
1 创建一个获取获取 driver 的方法 getDriver()
2 创建成员变量, 将 getDriver() 赋值给成员变量
3 其他业务类在使用 driver 时, 都可以通过父类. driver 的方式, 获取同一个 driver
- public class Login{
- private static final String userName="775662401@qq.com";
- 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