selenium +java 多个公用driver问题

Posted wujianqinjian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium +java 多个公用driver问题相关的知识,希望对你有一定的参考价值。

问题点:太久没有写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();
    }
}

提示:如果有用,请不要照搬,因为只截取了一部分代码,没有将完整的类贴出来!

以上是关于selenium +java 多个公用driver问题的主要内容,如果未能解决你的问题,请参考以下文章

java+selenium+new——同一个标签窗口里 ,访问多个网页的后退driver.navigate().back()前进driver.navigate().forward()刷新drive(代

java+selenium+new——同一个标签窗口里 ,访问多个网页的后退driver.navigate().back()前进driver.navigate().forward()刷新drive(代

等待多个元素变得不可见 Selenium Java

java selenium怎么等待元素出现并设置一定时间

在 Selenium / Java 中杀死 chromedriver 进程

使用Java查找Selenium WebDriver中的分页表中的行数