《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)
1.简介
上一篇文章,宏哥已经在搭建的java项目环境中实践了,今天就在基于maven项目的环境中给小伙伴们 或者童鞋们演示一下。
2.eclipse中新建maven项目
1.依次点击eclipse的file - new - other ,如下图所示:

2.在搜索框输入关键字“maven”,然后选中“maven project”,如下图所示:

3.选择创建后的工作区——项目存放的地址。如下图所示:

4.选择Maven项目的模板也叫项目类型(quikstart或者webapp等等),,如果选择create a simple project,则跳过了下面的步骤,也就不存在这个问题了,但是如果需要选择项目类型,则不能勾选create a simple project)如下图所示:

5.宏哥为了省事,直接选中create a simple project,点击next,输入Group Id和Artifact Id。如下图所示:

6.点击“Finish”,查看新建的maven项目,如下图所示:

到此,创建maven项目成功!!!
3.maven项目加载selenium依赖
3.1加载selenium依赖
maven项目加载selenium依赖就不想上一篇java项目加载selenium那么费事需要把jar包复制到项目下,maven项目只需要将相关的jar包依赖配置到pom.xml文件中就会自动加载了。因此要给上面创建的maven项目中加载selenium依赖,只需在pom.xml中引入selenium的jar包即可;具体步骤如下:
1.查看maven仓库:http://mvnrepository.com/ 如下图所示:

2.搜索selenium, 输入selenium,点击“Search”,如下图所示:

3.点击selenium java,查看自己需要的selenium版本,selenium我们都会选择最新的(宏哥这里用3.141.59举例一下),方便兼容最新的浏览器以及网络攻略……。如下图所示:

4.下载selenium-3.141.59版本,点3.141.59进入页面后,只需要单击下边的编码就自动全选复制了。如下图所示:

<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
5.copy到maven项目中的pom.xml中, selenium的jar包maven会自动加载,从右边路径可以看到jar的路径在本地仓库。如下图所示:

需要其他的jar包只需配置到pom.xml中即可!
3.2修改jdk版本
1.右键JRE System Library[JavaSe-1.5] ->properties。如下图所示:

2.选择javaSE-1.8,如下图所示:

4.启动Chrome浏览器
4.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
4.2驱动Chrome
1.在mavenweb/src/main/java下右键创建包(package)lessons,如下图所示:

2.在lessons包下创建类LaunchChrome.java,如下图所示:

3.在mavenweb下新建Tools文件夹,将用到的驱动和其他工具放在此文件夹中,如下图所示:

4.大致思路:打开Chrome浏览器,访问百度网址,获取网址的title,然后再关闭Chrome浏览器。根据思路进行代码设计,如下图所示:

5.参考代码,如下:
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(); } }
6.电脑端的浏览器,如下小视频所示:
7.运行代码,右键Run AS->java Application,控制台输出,如下图所示:

5.启动Firefox浏览器
5.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
5.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(); } }
6.启动IE浏览器
6.1IE浏览器驱动下载地址
本人使用的IE和IEDriverServer:
IE浏览器版本:11 IEDriverServer版本:Win32_3.0.0
IE浏览器所有驱动版本下载地址:http://selenium-release.storage.googleapis.com/index.html
6.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(); } }
7.小结
宏哥因为之前做过python和selenium,所以没有出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。
好了,今天关于三大浏览器的驱动宏哥就分享到这里,感谢你耐心的阅读。
《手把手教你》系列基础篇之(四)-java+ selenium自动化测试- 启动三大浏览器(下)基于Maven(详细教程)的更多相关文章
- 《手把手教你》系列基础篇之(三)-java+ selenium自动化测试- 启动三大浏览器(上)(详细教程)
1.简介 前边宏哥已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动三大浏览器.按市场份额来说,全球前三大浏览器是:IE.Firefox.Chrome.因此宏哥这里主要介绍一下如 ...
- 《手把手教你》系列基础篇之(一)-java+ selenium自动化测试-环境搭建(上)(详细教程)
1.简介 jmeter系列的文章结束,本来想趁热打铁顺别将Jmeter和接口测试介绍一下,但是感觉Jmeter时间太长了怕大家吃腻了,还有一个原因就是许多小伙伴们或者童鞋们私信问宏哥什么时候可以有ja ...
- 《手把手教你》系列基础篇(五)-java+ selenium自动化测试- 创建首个自动化脚本(详细教程)
1.简介 前面几篇宏哥介绍了两种(java和maven)环境搭建和三大浏览器的启动方法,这篇文章宏哥将要介绍第一个自动化测试脚本.前边环境都搭建成功了,浏览器也驱动成功了,那么我们不着急学习其他内容, ...
- 《手把手教你》系列技巧篇(二十)-java+ selenium自动化测试-元素定位大法之终卷(详细教程)
1.简介 这篇文章主要是对前边的文章中的一些总结和拓展.本来是不打算写着一篇的,但是由于前后文章定位元素的时间有点长,怕大家忘记了,就在这里简单做一个总结和拓展. 2.Selenium八种定位方式 S ...
- 《手把手教你》系列技巧篇(四十七)-java+ selenium自动化测试-判断元素是否显示(详解教程)
1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelec ...
- 《手把手教你》系列技巧篇(四十八)-java+ selenium自动化测试-判断元素是否可操作(详解教程)
1.简介 webdriver有三种判断元素状态的方法,分别是isEnabled,isSelected 和 isDisplayed,其中isSelected在前面的内容中已经简单的介绍了,isSelec ...
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- 《手把手教你》系列技巧篇(二十八)-java+ selenium自动化测试-处理模态对话框弹窗(详解教程)
1.简介 在前边的文章中窗口句柄切换宏哥介绍了switchTo方法,这篇继续介绍switchTo中关于处理alert弹窗的问题.很多时候,我们进入一个网站,就会弹窗一个alert框,有些我们直接关闭, ...
- 《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介 Apache Maven是一个软件项目管理和综合工具.基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件.由于现在企业和公司中Java的大部分项目都是基 ...
随机推荐
- Pytorch_Part5_迭代训练
VisualPytorch beta发布了! 功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集.损失函数.优化器生成可运行pytorch代码 扩展功能:1. 模型搭建支持模块的嵌套:2. ...
- 2021年有哪些优秀的免费PSD样机素材下载的网站?
2021年有哪些优秀的免费PSD样机素材下载的网站? 无论是ui设计师还是平面设计师,为避免无休止的加班,平时就需要寻找并收藏一些优秀的设计素材网站.好的素材可以帮助设计师设计作品起到事半功倍的效果, ...
- 使用 MegaCLI 检测磁盘状态并更换磁盘
专栏首页阿dai_linux使用 MegaCLI 检测磁盘状态并更换磁盘 原 10
- 运维实战案例之“Too many open files”错误与解决方法
运维实战案例之"Too many open files"错误与解决方法 技术小甜 2017-11-16 15:02:00 浏览869 服务器 shell tomcat 脚本 o ...
- 云计算OpenStack核心组件---keystone身份认证服务(5)
一.Keystone介绍: keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等 ...
- DOS 命令大全用法详解
注意事项 DOS命令不区分大小写,比如C盘的Program Files,在dos命令中完全可以用"program files"代替,加上英文引号是因为名称的中间有空格(即多于一个词 ...
- IDEA 怎么统计项目代码行数
引言 IDEA 统计项目代码行数,主要是使用 Statistic 插件来统计 第一步 点击 File->Settings,如下图所示: 第二步 点击 install 安装 Statistic 插 ...
- Java forEach 方式遍历集合(Java 8 新特性)
JDK 8 新增 forEach 方式遍历集合,这种方式比原来的 for each 循环还要简洁和便利. 需要注意:如果你计算机安装的是 JDK 8 以前的版本,是不支持 JDK 8 的新特性 Lis ...
- Lua中的异常处理pcall、xpcall、debug使用实例
如果需要在Lua中处理错误,必须使用函数pcall(protected call)来包装需要执行的代码. pcall接收一个函数和要传递个后者的参数,并执行,执行结果:有错误.无错误:返回值true或 ...
- Oracle的Rman差异增量备份
所谓增量备份,顾名思义即是每次备份操作那些发生了"变化"的数据块.在RMAN增量备份中有两种:Differential(差异备份)和Cumulative(增量备份)方式.由于需求这 ...