TestNG(二)之打开关闭浏览器

一、打开浏览器

  • 火狐浏览器

火狐浏览器自带driver,所以不用安装driver,如果火狐浏览器是默认安装。使用TestNG

public class TestWeb {
@Test
public void firefox(){
WebDriver driver = new FirefoxDriver();
}

如果火狐浏览器不是默认安转,那么需要给他一个路径,知道从哪里打开火狐浏览器。

public class TestWeb {
@Test
public void firefox(){
System.setProperty("webdriver.firefox.bin","D:\driver\Mozilla Firefox\firefox.exe");
WebDriver driver = new FirefoxDriver();
}
  • 谷歌浏览器

使用谷歌浏览器要安转一个Driver,driver下载路径:http://chromedriver.storage.googleapis.com/index.html,查看自己谷歌浏览器是什么版本,对应下面表格下载。无论是64位还是32位都使用32位。

chromedriver版本支持的Chrome版本
v2.33 v60-62
v2.32 v59-61
v2.31 v58-60
v2.30 v58-60
v2.29 v56-58
v2.28 v55-57
v2.27 v54-56
v2.26 v53-55
v2.25 v53-55
v2.24 v52-54
v2.23 v51-53
v2.22 v49-52
v2.21 v46-50
v2.20 v43-48
v2.19 v43-47
v2.18 v43-46
v2.17 v42-43
v2.13 v42-45
v2.15 v40-43
v2.14 v39-42
v2.13 v38-41
v2.12 v36-40
v2.11 v36-40
v2.10 v33-36
v2.9 v31-34
v2.8 v30-33
v2.7 v30-33
v2.6 v29-32
v2.5 v29-32
v2.4 v29-32

下载之后解压。在工程目录下新建一个文件夹,将解压的chromedriver.exe放到刚才的 文件夹里面去。如果下载了多个但是不知道chromedriver.exe是什么版本,可以双击点击,就可以看到chromedriver.exe的版本了。

之后和 火狐浏览器一样的代码。

 @Test
public void chrome(){
System.setProperty("webdriver.chrome.bin","C:\Users\asus\AppData\Local\Google\Chrome\Application\chrome.exe");
WebDriver driver = new ChromeDriver();
}

 直接run一下test就可以打开浏览器了。

 注意下面这两种写法,统一规范两种方法都是可以的。

例1:注意是webdriver.chrome.bin后面跟着的是chrome浏览器的exe文件的路径,直接点击桌面上的chrome图标,右键属性就可以知道路径了,复制到这边就可以。

@Test
public void chrome(){
System.setProperty("webdriver.chrome.bin","C:\Users\asus\AppData\Local\Google\Chrome\Application\chrome.exe");
WebDriver driver = new ChromeDriver();
}

例2:注意是webdriver.chrome.driver后面跟着的是刚才放driver的路径加上chromedriver.exe
    @Test
public void chromedriver(){
System.setProperty("webdriver.chrome.driver","F:\工程文件\drivers\chromedriver.exe");
WebDriver driver1 = new ChromeDriver();
}

}
  • IE浏览器

官网下载地址:http://selenium-release.storage.googleapis.com/index.html

参考:https://blog.csdn.net/zyl26/article/details/51011073

代码和火狐浏览器、chrome浏览器一样的写法

  • Edge浏览器

先查看自己的Edge浏览器的版本,主要看中间红色方框的数字,对应driver下载路径:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

@Test
public void Edgedriver(){
System.setProperty("webdriver.edge.driver","F:\工程文件\drivers\MicrosoftWebDriver.exe");
WebDriver edgedriver = new EdgeDriver();

}
  • 关闭浏览器

driver.quit()和driver.closed() 的区别:

driver.quit()是完全退出浏览器,在执行之前查看任务管理器,是否有chromedriver.exe程序,如果有可以全部关闭再执行看看。发现执行之后也没有chromedriver.exe程序

driver.close() 是关闭浏览器当前窗口,但是任务管理器的chromedriver.exe程序还是存在,并且每执行一次打开浏览器就会有这个程序存在,当你的case成百上千的话,就会占用很多资源。

以chrome浏览器为例

@Test
public void chromedriver2() throws InterruptedException {
// driver路径
System.setProperty("webdriver.chrome.driver","F:\工程文件\drivers\chromedriver.exe");
// 实例化一个driver,打开浏览器
WebDriver driver = new ChromeDriver();
// 等待5S
Thread.sleep(5000);
// 完全关闭浏览器
driver.quit();
}
    @Test
public void chromedriver1() throws InterruptedException {
// driver路径
System.setProperty("webdriver.chrome.driver","F:\工程文件\drivers\chromedriver.exe");
// 实例化一个driver,打开浏览器
WebDriver driver = new ChromeDriver();
// 等待5S
Thread.sleep(5000);
// 关闭浏览器
driver.close();
原文地址:https://www.cnblogs.com/Daisyjm/p/8666945.html