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();