环境搭建部署篇->
1.简介
java版的selenium,介绍一下java+ selenium自动化测试。大致和python+selenium自动化测试差不多。基于java和selenium做自动化测试,因此你必须会搭建基本的开发环境,掌握python基本的语法和一个IDE来进行开发,这里通过详细的讲解,介绍怎么搭建java和selenium开发环境,并提供一个基本入门的代码,后续逐步提供系列实践文章。
2.环境准备
2.1所需要安装的组件或者工具
1、环境是Windows 10&11版本 64位系统(32位的同学自己想办法哦)
2、1.8.0_181 (64位)
3、Eclipse
4、Selenium for Java
5、Selenium 在不同浏览器上的driver插件,根据你的浏览器版本自行下载好。
2.2JDK安装与配置
1、下载jdk包,我是64位1.8版本,其它高级版本应该也是可以的。根据自己的系统选择对应版本
2、一路傻瓜式安装,注意安装路径不要有空格,不要有中文。jdk和jre不要放在一个文件夹下
3、设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”
(1)JAVA_HOME----D:\software\Java\jdk1.8.0_181” (根据自己安装路径填写)
(2)CLASSPATH--- .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;
(3)PATH-----;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
在path路径下加上面那两个,这里就不多说了
4、打开cmd验证是否安装成功,输入java -version,然后输入javac
能显示版本号和下面的帮助信息说明安装成功
2.3Eclipse的安装与设置
关于Eclipse的下载和设置,可去网上参考,这里就不做补充~
2.4下载Selenium相关包和工具
Selenium下载的官网是http://www.seleniumhq.org/download/,点击下图中的3.4.0链接触发下载selenium-server-standalone-3.4.0.jar
3.5下载不同浏览器driver插件
浏览器对应的独立的官方驱动文件。如下表:
Browser | Component |
Chrome | chromedriver(.exe) |
Internet Explorer | IEDriverServer.exe |
Edge | MicrosoftWebDriver.msi |
Firefox 47+ | geckodriver(.exe) |
PhantomJS | phantomjs(.exe) |
Opera | operadriver(.exe) |
Safari | SafariDriver.safariextz |
以上准备工作都做好后,到此,准备工作就做好了,下边就开始搭建环境。
3.搭建环境
java+ selenium自动化测试的搭建环境有两种方法,下边会给你慢慢道来。
3.1方法一(不推荐)
添加多个jar包。这个方法比较繁琐,不推荐这种方法。
1、官方下载地址: http://www.seleniumhq.org/download/ 如果官方地址无法访问自己可以网上搜一下应该可以 轻松的下载到,进入官网找到页面和java语言,点击后边的download,如下图所示:
2、解压上边下载的压缩包,解压后有六个文件,如下图所示:
3、 新建一 个Java Project把上面解压出来的文件, 都复制到新建的Project 目录下, 目录结构,如下图所示:
4、 添加build path, 项目目录右键 Build Path -> Config build path -> java build Path -> Libraries -> Add JARs
5、 把libs 文件夹下的jar包,全部添加上,再添加 client-combined-3.141.59.jar和client-combined-3.141.59-sources.jar。如下图所示:
6、添加成功后,目录结构,如下图所示:
3.2方法二(推荐)
添加一个jar包即可。这个方法比较简单是首选也是推荐的方法。
1、下载selenium-server-standalone.jar 。下载地址也在:官方下载地址: http://www.seleniumhq.org/download/
2、将selenium-server-standalone.jar 按照方法一添加jar的方法直接添加到java项目中就可以了,如下图所示:
4.梳理一下
4.1报错分析
细心认真的小伙伴或者童鞋们会发现,使用上面的方法一会报错如下:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
selenium + java + Windows + Eclipse 报错分析:网上绝大多数的教程,按照方法一配置selenium 自动化测试环境,都是只让导入client-combined-3.141.59.jar和client-combined-3.141.59-sources.jar,没有说让导入lib 目录下的jar 包,也没仔细看,明明jar包都导入了啊,后实在看不出来原因,去看这个jar 包的时候,发现libs文件夹中这里面还有几个jar 包。好吧,导入就OK了。
5.简介
Apache Maven是一个软件项目管理和综合工具。基于项目对象模型(POM)的概念,Maven可以从一个中心资料片管理项目构建,报告和文件。由于现在企业和公司中Java的大部分项目都是基于Maven, 因此为了照顾到企业或者公司用的java项目中用到maven的小伙伴们,这里也简单的介绍和分享一下。在Maven项目中使用Selenium. 非常简单。
6.在eclipse中搭建maven
6.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盘,并解压,如下图所示:
6.2配置maven环境变量
1.设置三个环境变量,我的电脑>选择“属性”->“高级系统设置”->“环境变量”->“系统变量”->“新建”
MAVEN_HOME : C:\apache-maven-3.3.9
MAVEN : %MAVEN_HOME%\bin
MAVEN_OPTS : -Xms256m -Xmx512m
如下图所示:
2.在path最前面加上: %MAVEN%; 。要特别注意这里的分号,其实环境变量配置和JDK的差不多。
6.3验证maven是否安装成功
1.Cmd->mvn -version,成功则出现以下界面,如下图所示:
7.maven配置仓库
maven的仓库可以分为三种,如下图所示:
7.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>
7.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/。
8.在eclipse中安装maven插件
1.打开Eclipse,进入help -- >Install New Software...点Add按钮输入:
Name:m2
elocation: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”,如下图所示:
9.设置自定义的本地仓库
1.选择Eclipse菜单栏的Window-->Preferences-->Maven--UserSettings菜单项, 修改为我们自定义仓库位置下的settings.xml文件, 修改好后点击OK按钮。如下图所示:
10.查看是否maven设置成功
查看是否maven设置成功:file - new - other - maven ,出现maven project表示配置成功,如下图所示:
11.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项目成功!!!
12.maven项目加载selenium依赖
12.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中即可!
12.2修改jdk版本
1.右键JRE System Library[JavaSe-1.5] ->properties
2.选择javaSE-1.8,如下图所示:
好了,至此,基于maven的java+ selenium自动化测试环境搭建就搭建成功了,后续会实战来看看环境是否搭建成功了。
小结
1.必须先下载并安装JDK,配置JDK的环境变量JAVA_HOME,否则maven将无法使用。
2.eclipse安装maven插件后必须重新定位maven到本地maven目录。
3.带你看一下,是否将相关selenium的依赖下载到本地仓库(我已经创建项目并运行了),如下图所示:
下文大多数主要就是关于maven的,关于selenium的很简单,如果熟悉maven的小伙伴应该就能快速的将环境搭建好了。