问题点:太久没有写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(); } } |
提示:如果有用,请不要照搬,因为只截取了一部分代码,没有将完整的类贴出来!
上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。