搭建基于Selenium+TestNG+Maven+Jenkins+SVN的Web端UI自动化测试环境

By | 2017-09-11

一、 创建Maven项目,下载Selenium和TestNG的依赖(依赖可以理解为你要用到的jar包)。

1.     问题。

为什么要创建Maven项目呢?

答:Maven项目可以方便的管理依赖,通俗的讲,你需要的jar包,写到POM.xml文件中,Maven可以自动下载。省却了你先把jar文件放进libs,再BuildPath这一步。同时呢,其他项目如果也用到这些jar包,Maven会自动从本地仓库中直接取出来,不用再次下载。

2. 步骤。

1.  File-New-Project…

Xr-原创

2. Maven Project- Next

Xr-原创

3. Next

Xr-原创

4. 选择maven-archetype-quickstart-Next

Xr-原创

5. 输入Group Id:域.公司简称;Artifact Id:项目名称 -Finish.

Xr-原创

6. 创建完成后,目录中能找到自己创建的项目,说明Maven项目已成功创建。

Xr-原创

7. 配置Selenium和TestNG的依赖。

打开Pom.xml文件-如下图-添加红框中的依赖。本人用的是testng6.9.10和selenium的2.53.0版本。(嘘,不需要你自己敲,从网上直接复制粘贴进来即可,不会的看步骤8,会的请忽略)

Xr-原创

8. 打开搜索引擎-搜索repository maven-点击进入官网

Xr-原创

输入testng-点击Search-再点击org.testng>testng

Xr-原创

找到你需要的Version-点进去

Xr-原创

单击红框中的代码-复制-粘贴到Pom文件中,IDE会自动下载你需要的jar。

Xr-原创

展开项目下的Maven Dependencies-能够看到说明你已经下载成功。看不到可以刷新下试试。

Xr-原创

9. Eclipse中安装Testng插件-help-Eclipse MarketPlace-搜索testNG.(不成功自行百度,不再缀述哦)

二、将项目配置到SVN平台。

1. 问题。

为什么将项目配置到SVN平台呢?

答:可以将SVN理解为一台服务器上的项目容器,把项目放里边,所有项目的开发者都可以将自己增加的或修改的代码推送上去,这样,这个项目的代码总是最新的,运行SVN上这个项目就可以执行最新的代码。

2. 步骤。

本地安装SVN客户端、服务器端安装SVN Server端的步骤请自行百度,本节只讲如何在SVN上配置你的脚本项目。

打开任意文件夹-右击-TortoiseSVN-点击进入Repo-browser

Xr-原创

输入SVN的url-点击Ok

Xr-原创

在trunk上右击-Add folder…

Xr-原创

选择你的脚本项目-点击“选择文件夹”

Xr-原创

在Message中写明备注-Ok

Xr-原创

会发现项目已经配置到了SVN上,完工。注意:这个项目的URL会在Jenkins中配置时用到哦。

Xr-原创

三、在Jenkins上配置任务,自动执行自动化脚本。

打开Jeknins登录-点击新建-构建一个自由风格的项目-输入项目名称-OK

Xr-原创

Xr-原创

展开源码管理选中Subversion-输入SVN上该项目的URl地址-点击Add可以添加访问SVN的权限

Xr-原创

选择Kind为Username with password-然后输入SVN的登录用户名和密码-点击Add

Xr-原创

然后在Credentials 中选择刚才的用户名和密码

Xr-原创

构建-选择Execute Windows batch command(因为我Jenkins的服务器是Windows系统,如果你的是Linux,就要选择Execute shell)

Xr-原创

输入以下命令-保存。

(这两行命令的意思:1. 目录切到Jenkins的WorkSpace下的MavenAutoProject项目;2. 执行该项目)

Xr-原创

构建-点击该项目右方小箭头-选择立即构建

Xr-原创

构建完成后,点击Console Output查看控制台上的测试结果

Xr-原创

Xr-原创

四、搭建平台过程中遇到的错误及处理办法:

1. Jenkins上提示构建成功,但是用例一个都没运行。

原因:testCase放到了src下,应该放到test下面。因为maven-surefire-plugin默认执行test底下的case。

2. 总是报关于maven-surefire-plugin的错误。

原因:插件版本太高,起初用的是2.18.1,后改成2.12.4,解决。

3. compile时报找不到testngjar包,找不到符号。

原因:是因为pom中testng的依赖中写了<scope>test</scope>,去掉即可。

4. 版本问题,总是报版本不匹配。

原因:JRE版本默认总改成1.5.将JRE1.7写到Maven的全局配置文件中即可。在IDE的preference-Maven-中配置两个地方,一个是installations加上Maven的安装路径,一个是User  settings中,两个地方都选择Maven安装路径下的Settings文件即可。

Xr-原创

Settings.xml的配置方法:加上以下代码即可。在Maven的全局配置文件中加上如下代码,意味着只要是Maven项目,默认用JRE1.7。

Xr-原创

综上,可以看出,代码执行时报错,相当一大部分原因是配置没配好,所以建议大家配置好一套环境后,记录下各种版本号,一劳永逸。现将我的环境总结如下:selenium2.53.0+testng6.9.10+JDK1.7+maven-surefire-plugin2.12.4+EclipseVersion: Mars.2 Release (4.5.2)。

还担心会配错?请查看第五条,我完整POM文件的截图。

五、Pom.xml文件完整截图。

Xr-原创

Xr-原创

Xr-原创

Leave a Reply

Your email address will not be published. Required fields are marked *