《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
1.简介
前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器。按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome。因此宏哥这里主要介绍一下如何启动这三大浏览器即可,其他浏览器类似的方法,照猫画虎就可以了。
2.启动浏览器准备工作
2.1准备工作
创建一个Selenium的Java项目,用来练习,具体步骤如下:
1.打开Eclipse,创建一个名称为Bjhg_Selenium的Java 项目,如下图所示:
2.在Bjhg_Selenium项目下,新建一个文件夹Tools,把Selenium相关包放到这个文件夹下,如下图所示:
3.右键项目,选择Build Path,然后选择Confige Build Path…,弹出框点击Libraries,如下图所示:
4.这里点击Add JARs…,弹出框,选择当前项目下tools这个文件夹里面的selenium-server-standalone-3.4.0.jar,点击OK,效果如下图所示:
准备工作就介绍到这里,下边介绍如何启动三大浏览器。
3.启动Chrome浏览器
3.1chrome和chromedriver版本下载地址及对应关系
【国外】chromedriver所有版本下载地址:http://chromedriver.storage.googleapis.com/index.html
【国内】chromedriver所有版本下载地址:https://npm.taobao.org/mirrors/chromedriver
【国内】chrome所有版本下载地址:https://www.chromedownloads.net/chrome64win/
【国外】浏览器版本和驱动版本对应关系查看网址:http://chromedriver.chromium.org/downloads
注意:一个大的chromedriver版本里面可能包含的有多个小版本,如果下载的Chromedriver版本和当前使用的chrome浏览器版本不匹配则可以换其他的试试。比如:chromedriver 79版里面有v79.0.3945.16 v79.0.3945.36
3.2驱动Chrome
1.在lessons包下创建类LaunchChrome.java,如下图所示:
2.大致思路:打开Chrome浏览器,访问百度网址,获取网址的title,然后再关闭Chrome浏览器。根据思路进行代码设计,如下图所示:
3.参考代码,如下:
package lessons; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * 2021年6月17日 */ public class LaunchChrome { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe"); //初始化一个chrome浏览器实例,实例名称叫driver WebDriver driver = new ChromeDriver(); //最大化窗口 driver.manage().window().maximize(); //设置隐性等待时间 driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS); // get()打开一个站点 driver.get("https://www.baidu.com"); //getTitle()获取当前页面title的值 System.out.println("当前打开页面的标题是: "+ driver.getTitle()); //关闭并退出浏览器 driver.quit(); } }
4.电脑端的浏览器,如下小视频所示:
5.运行代码,右键Run AS->java Application,控制台输出,如下图所示:
4.启动Firefox浏览器
4.1Firefox和驱动下载地址
selenium2.X最高支持的Firefox版本为46,使用selenium2.X的话不需要下载火狐驱动,只需要配置火狐的启动路径即可。
Selenium3.0开始需下载geckodriver,想使用geckodriver ,Firefox浏览器必须是48或者更高版本。具体的浏览器和浏览器驱动之间的对应关系可在geckodriver下载网站中的版本说明中查看。
所有火狐浏览器版本下载地址:http://ftp.mozilla.org/pub/firefox/releases/
所有火狐驱动geckodriver版本下载地址:https://github.com/mozilla/geckodriver/releases
4.2驱动Firefox
具体过程和Chrome的差不多,宏哥就不做赘述,将代码贴出来以供参考。
1.参考代码,如下:
package lessons; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * 2021年6月17日 */ public class LuanchFirefox { public static void main(String[] args) { //System.setProperty("webdriver.firefox.marionette", ".\\Tools\\geckodriver.exe"); System.setProperty("webdriver.gecko.driver", ".\\Tools\\geckodriver.exe"); //初始化一个火狐浏览器实例,实例名称叫driver WebDriver driver = new FirefoxDriver(); //最大化窗口 driver.manage().window().maximize(); //设置隐性等待时间 driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS); // get()打开一个站点 driver.get("https://www.baidu.com"); //getTitle()获取当前页面title的值 System.out.println("当前打开页面的标题是: "+ driver.getTitle()); //关闭并退出浏览器 driver.quit(); } }
5.启动IE浏览器
5.1IE浏览器驱动下载地址
本人使用的IE和IEDriverServer:
IE浏览器版本:11 IEDriverServer版本:Win32_3.0.0
IE浏览器所有驱动版本下载地址:http://selenium-release.storage.googleapis.com/index.html
5.2驱动IE
具体过程和Chrome的差不多,宏哥就不做赘述,将代码贴出来以供参考。
1.参考代码,如下:
package lessons; import java.util.concurrent.TimeUnit; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * 2021年6月17日 */ public class LaunchIE { public static void main(String[] args) { System.setProperty("webdriver.ie.driver", ".\\Tools\\IEDriverServer.exe"); //初始化一个IE浏览器实例,实例名称叫driver WebDriver driver = new InternetExplorerDriver(); //最大化窗口 driver.manage().window().maximize(); //设置隐性等待时间 driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS); // get()打开一个站点 driver.get("https://www.baidu.com"); //getTitle()获取当前页面title的值 System.out.println("当前打开页面的标题是: "+ driver.getTitle()); //关闭并退出浏览器 driver.quit(); } }
6.小结
宏哥因为之前做过python和selenium,所以没有出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。
好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。