《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)
1.简介
Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。由于现在企业和公司中Java的大部分项目都是基于Maven, 因此宏哥为了照顾到企业或者公司用的java项目中用到maven的童鞋或者小伙伴们,这里也简单的介绍和分享一下。在Maven项目中使用Selenium. 非常简单。
2.在eclipse中搭建maven
2.1安装maven
1.下载maven的bin,在apache官方网站可以下载。在Files下面下载对应的maven版本(官网的是最新版本),如下图所示:

2.查看maven对应的JDK版本,如下图所示:

3.进入maven对应的JDK版本,网址:http://maven.apache.org/docs/history.html。如下图所示:
4.下载的apache-maven-3.8.1.zip不需要安装,只需解压即可,将apache-maven-3.8.1解压到E盘根目录下,放在你本地电脑磁盘空间比较充足的磁盘,宏哥放在E盘,并解压,如下图所示:

2.2配置maven环境变量
1.设置三个环境变量,我的电脑>选择“属性”->“高级系统设置”->“环境变量”->“系统变量”->“新建”
MAVEN_HOME : C:\apache-maven-3.3.9
MAVEN : %MAVEN_HOME%\bin
MAVEN_OPTS : -Xms256m -Xmx512m
如下图所示:

2.在path最前面加上: %MAVEN%; 。要特别注意这里的分号,其实环境变量配置和JDK的差不多。
2.3验证maven是否安装成功
1.Cmd->mvn -version,成功则出现以下界面,如下图所示:

3.maven配置仓库
maven的仓库可以分为三种,如下图所示:

3.1配置本地仓库
1.建立手动仓库maven_repository,宏哥建立在F盘,如下图所示:

2.给Maven添加本地仓库:
作用:构建Maven项目时,首先会从本地库查找资源,如果本地库没有,Maven就会从远程库下载资源到本地库,下次使用的时候就不用再去远程库下载了。
localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。
当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。
在Maven的安装路径中的conf文件夹中配置settings.xml:
在文中找到localRepository注释行,localRepository节点默认是被注释掉的,需要把它移到注释之外,然后将localRepository节点的值改为我们在上边创建的仓库的目录并添加如下:
<localRepository>F:\maven_repository</localRepository>

3.2配置私服
给Maven配置mirror:mirror就是镜像, 主要提供一个方便地切换远程仓库地址的途径。在Maven的安装路径中的conf文件夹中配置settings.xml:在文中找到<mirrors>行并在其中添加如下:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

注: 千万注意, 只可配置一个(另一个要注释!) 不然两个可能发生冲突 ,导致jar包下不下来 !!!
mirror相当于拦截器,将对远程仓库的请求重定向到mirror指定的地址,如上面的代码将对central的请求重定向到http://maven.aliyun.com/nexus/content/groups/public/。
4.在eclipse中安装maven插件
1.打开Eclipse,进入help -- >Install New Software...点Add按钮输入:
Name:m2e
location:http://download.eclipse.org/technology/m2e/releases
如下图所示:

2.点击“OK”后,等相关应用下载好以后,选中点击“next”,如下图所示:

3.点击next直到安装完成。设置Maven插件所关联的Maven程序:选择Eclipse菜单栏的Window-->Preferences-->Maven--Installations菜单项, 点击add,如下图所示:

4.点击add,选择Maven的具体安装目录,如下图所示:

5.选择好目录,添加好maven的安装目录,如下图所示:

6.选中maven的安装目录,点击“OK”,如下图所示:

5.设置自定义的本地仓库
1.选择Eclipse菜单栏的Window-->Preferences-->Maven--UserSettings菜单项, 修改为我们自定义仓库位置下的settings.xml文件, 修改好后点击OK按钮。如下图所示:
6.查看是否maven设置成功
查看是否maven设置成功:file - new - other - maven ,出现maven project表示配置成功,如下图所示:

7.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项目成功!!!
8.maven项目加载selenium依赖
8.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中即可!
8.2修改jdk版本
1.右键JRE System Library[JavaSe-1.5] ->properties。如下图所示:

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

好了,至此,基于maven的java+ selenium自动化测试环境搭建就搭建成功了,后续会写一篇实战的文章来看看环境是否搭建成功了。
9.小结
1.必须先下载并安装JDK,配置JDK的环境变量JAVA_HOME,否则maven将无法使用。
2.eclipse安装maven插件后必须重新定位maven到本地maven目录。
3.宏哥带你看一下,是否将相关selenium的依赖下载到本地仓库(宏哥已经创建项目并运行了),如下图所示:

这一篇绝大多数主要就是关于maven的,后边关于selenium的很简单,如果熟悉maven的小伙伴或者童鞋们应该就能快速的将环境搭建好了。
好了,今天又要和大家说再见了,感谢你耐心的听宏哥絮叨!!!
《手把手教你》系列基础篇之(二)-java+ selenium自动化测试-环境搭建(下)基于Maven(详细教程)的更多相关文章
- 《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- 《手把手教你》系列技巧篇(五十五)-java+ selenium自动化测试-上传文件-下篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- 《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)
1.简介 前面介绍了POI可以操作excel,也简单的提到另一个操作excle的工具,本篇介绍一个其他的可以操作excel的工具,但是这个工具有一个前提,excel文件版本只能是97-2003版本,如 ...
- 《手把手教你》系列技巧篇(六十八)-java+ selenium自动化测试 - 读写excel文件 - 下篇(详细教程)
1.简介 今天继续操作Excle,小伙伴或者童鞋们是不是觉得宏哥会介绍第三种工具操作Excle,今天不介绍了,有两种就够用了,其实一种就够用了,今天主要是来介绍如何使用不同的数据类型读取Excel文件 ...
- 《手把手教你》系列基础篇之(一)-java+ selenium自动化测试-环境搭建(上)(详细教程)
1.简介 jmeter系列的文章结束,本来想趁热打铁顺别将Jmeter和接口测试介绍一下,但是感觉Jmeter时间太长了怕大家吃腻了,还有一个原因就是许多小伙伴们或者童鞋们私信问宏哥什么时候可以有ja ...
- 《手把手教你》系列技巧篇(五十三)-java+ selenium自动化测试-上传文件-上篇(详细教程)
1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...
- 《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)
1.简介 在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容.由于java不像python那样有直接操作Excle文件的类 ...
- 《手把手教你》系列技巧篇(二十一)-java+ selenium自动化测试-浏览器窗口的句柄(详细教程)
1.简介 今天本来就要分享和讲解三大延时等待的,但是在写作过程中发了问题,会用到这一个知识点,于是就提前介绍一下,以便后边用到了可以更好的理解和掌握.本文就是要介绍如何获得浏览器窗体的句柄或者叫编号, ...
- 《手把手教你》系列技巧篇(五十)-java+ selenium自动化测试-字符串操作-上篇(详解教程)
1.简介 自动化测试中进行断言的时候,我们可能经常遇到的场景.从一个字符串中找出一组数字或者其中的某些关键字,而不是将这一串字符串作为结果进行断言.这个时候就需要我们对字符串进行操作,宏哥这里介绍两种 ...
随机推荐
- Mybatis学习之自定义持久层框架(三) 自定义持久层框架:读取并解析配置文件
前言 前两篇文章分别讲解了JDBC和Mybatis的基本知识,以及自定义持久层框架的设计思路,从这篇文章开始,我们正式来实现一个持久层框架. 新建一个项目 首先我们新建一个maven项目,将其命名为I ...
- 2021年主流CRM系统盘点
面对市面上五花八门的CRM系统,相信您在选择的时候肯定是一头雾水.哪个CRM系统功能最强大?哪个CRM系统性价比最高?哪个CRM系统最适合企业使用?本篇文章小编将选出几家有代表性的CRM系统,并进行对 ...
- [bug] Nginx:src/os/unix/ngx_user.c:36:7: 错误:‘struct crypt_data’没有名为‘current_salt’的成员
参考 https://blog.csdn.net/yu_pan_love_cat/article/details/103035513 https://www.cnblogs.com/hxlinux/p ...
- 013.Ansible Playbook include
一 include 当项目越大,tasks越多的时候.如果将多有的task写入一个playbook中,可读性很差,就需要重新组织playbook 可以把一个playbook分成若干份晓得palyboo ...
- Sqli-labs-master通关解析(持续更新中。。。)
大多情况下:SQL注入其实就是构造正确的mysql命令,让网页回显本不应该让我们看到的数据(如用户的账号和密码). 第一关-联合查询注入 查库 // 查看当前页面在的数据库 ?id=-1' union ...
- 048.Python前端css
一 CSS介绍 1.1 CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. selector { property: value; property: value; prop ...
- Log4j 配置多个 Logger
引言 Log4j 是 Java 的主流日志框架,通过灵活的配置可以提供各种类型的日志服务. 在使用 Log4j 进行实际项目开发的过程中,有时不想使用 rootLogger 记录器,把所有的日志都输出 ...
- mysql基础之数据库备份和恢复的基础知识
备份数据的最终目的是为了在出现一些意外情况时,能够通过备份将数据还原,所以单单的备份数据往往是无法满足还原时的需求的,所以在备份数据库时,除了要备份数据本身,还要备份相关的数据库环境,如配置文件,定时 ...
- Selenium click不生效 报错selenium.common.exceptions.InvalidArgumentException
记录在使用selenium过程中踩的坑------ 在使用selenium时,用click点击网站弹出的文件上传框的"上传文件"按钮不生效,报错selenium.common.ex ...
- 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈
用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈 深度学习已变得无处不在,不可或缺.这场革命的一部分是由可扩展的深度学习系统推动的,如滕索弗洛.MXNet.咖啡和皮托奇.大多数现有系统针对 ...