转载自:https://blog.csdn.net/u014202301/article/details/72354069
一、 创建Maven项目,下载Selenium和TestNG的依赖(依赖可以理解为你要用到的jar包)。
1. 问题。
为什么要创建Maven项目呢?
答:Maven项目可以方便的管理依赖,通俗的讲,你需要的jar包,写到POM.xml文件中,Maven可以自动下载。省却了你先把jar文件放进 libs,再BuildPath这一步。同时呢,其他项目如果也用到这些jar包,Maven会自动从本地仓库中直接取出来,不用再次下载。
2. 步骤。
1. File-New-Project...
![](http://upload-images.jianshu.io/upload_images/3871423-55e945104080b902.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
2. Maven Project- Next
![](http://upload-images.jianshu.io/upload_images/3871423-f3dac907fc225d57.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3. Next
![](http://upload-images.jianshu.io/upload_images/3871423-5da5a59a81092a41.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
4. 选择maven-archetype-quickstart-Next
![](http://upload-images.jianshu.io/upload_images/3871423-ab5be34538f62d34.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
5. 输入Group Id:域.公司简称;Artifact Id:项目名称 -Finish.
![](http://upload-images.jianshu.io/upload_images/3871423-5a39628f8e231dbe.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
6. 创建完成后,目录中能找到自己创建的项目,说明Maven项目已成功创建。
![](http://upload-images.jianshu.io/upload_images/3871423-1c79d70238939181.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7. 配置Selenium和TestNG的依赖。
打开Pom.xml文件-如下图-添加红框中的依赖。本人用的是testng6.9.10和selenium的2.53.0版本。(嘘,不需要你自己敲,从网上直接复制粘贴进来即可,不会的看步骤8,会的请忽略)
![](http://upload-images.jianshu.io/upload_images/3871423-730d3d5d5cad1a2a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
8. 打开搜索引擎-搜索repository maven-点击进入官网
![](http://upload-images.jianshu.io/upload_images/3871423-9a7e933b1c4ce709.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
输入testng-点击Search-再点击org.testng>testng
![](http://upload-images.jianshu.io/upload_images/3871423-7e7bf36c5533ff66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
找到你需要的Version-点进去
![](http://upload-images.jianshu.io/upload_images/3871423-a72530c67a323dc8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
单击红框中的代码-复制-粘贴到Pom文件中,IDE会自动下载你需要的jar。
![](http://upload-images.jianshu.io/upload_images/3871423-c979c8a3c200da45.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
展开项目下的Maven Dependencies-能够看到说明你已经下载成功。看不到可以刷新下试试。
![](http://upload-images.jianshu.io/upload_images/3871423-4922e7580e6a9102.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
9. Eclipse中安装Testng插件-help-Eclipse MarketPlace-搜索testNG.(不成功自行百度,不再缀述哦)
二、将项目配置到SVN平台。
1. 问题。
为什么将项目配置到SVN平台呢?
答:可以将SVN理解为一台服务器上的项目容器,把项目放里边,所有项目的开发者都可以将自己增加的或修改的代码推送上去,这样,这个项目的代码总是最新的,运行SVN上这个项目就可以执行最新的代码。
2. 步骤。
本地安装SVN客户端、服务器端安装SVN Server端的步骤请自行百度,本节只讲如何在SVN上配置你的脚本项目。
打开任意文件夹-右击-TortoiseSVN-点击进入Repo-browser
![](http://upload-images.jianshu.io/upload_images/3871423-216ab3a7320c0855.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
输入SVN的url-点击Ok
![](http://upload-images.jianshu.io/upload_images/3871423-e871a6137eadc092.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
在trunk上右击-Add folder...
![](http://upload-images.jianshu.io/upload_images/3871423-49fe155de0c905e0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
选择你的脚本项目-点击“选择文件夹”
![](http://upload-images.jianshu.io/upload_images/3871423-ef073e577daab1a0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
在Message中写明备注-Ok
![](http://upload-images.jianshu.io/upload_images/3871423-446011b12c7c4cd2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
会发现项目已经配置到了SVN上,完工。注意:这个项目的URL会在Jenkins中配置时用到哦。
![](http://upload-images.jianshu.io/upload_images/3871423-34543de639098e05.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
三、在Jenkins上配置任务,自动执行自动化脚本。
打开Jeknins登录-点击新建-构建一个自由风格的项目-输入项目名称-OK
![](http://upload-images.jianshu.io/upload_images/3871423-6a78c72cda4ec1f3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/3871423-fc25b67ed98b7b16.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
展开源码管理选中Subversion-输入SVN上该项目的URl地址-点击Add可以添加访问SVN的权限
![](http://upload-images.jianshu.io/upload_images/3871423-35d4a8ea70c5d547.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
选择Kind为Username with password-然后输入SVN的登录用户名和密码-点击Add
![](http://upload-images.jianshu.io/upload_images/3871423-645d7db077c084ad.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然后在Credentials 中选择刚才的用户名和密码
![](http://upload-images.jianshu.io/upload_images/3871423-67c3baf7127d34f0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
构建-选择Execute Windows batch command(因为我Jenkins的服务器是Windows系统,如果你的是Linux,就要选择Execute shell)
![](http://upload-images.jianshu.io/upload_images/3871423-b7f88719b9236474.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
输入以下命令-保存。
(这两行命令的意思:1. 目录切到Jenkins的WorkSpace下的MavenAutoProject项目;2. 执行该项目)
![](http://upload-images.jianshu.io/upload_images/3871423-a946c11d69e76661.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
构建-点击该项目右方小箭头-选择立即构建
![](http://upload-images.jianshu.io/upload_images/3871423-baaebfa2221bd37a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
构建完成后,点击Console Output查看控制台上的测试结果
![](http://upload-images.jianshu.io/upload_images/3871423-4269dabedf9c36cb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/3871423-6fb7cfd5b3638b9f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
四、搭建平台过程中遇到的错误及处理办法:
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文件即可。
![](http://upload-images.jianshu.io/upload_images/3871423-e211a7cbea3990de.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/3871423-f60b35678942ad25.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
Settings.xml的配置方法:加上以下代码即可。在Maven的全局配置文件中加上如下代码,意味着只要是Maven项目,默认用JRE1.7。
![](http://upload-images.jianshu.io/upload_images/3871423-15eec367b17d4c0a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
综上,可以看出,代码执行时报错,相当一大部分原因是配置没配好,所以建议大家配置好一套环境后,记录下各种版本号,一劳永逸。现将我的环境总结如 下:selenium2.53.0+testng6.9.10+JDK1.7+maven-surefire- plugin2.12.4+EclipseVersion: Mars.2 Release (4.5.2)。
还担心会配错?请查看第五条,我完整POM文件的截图。
五、Pom.xml文件完整截图。
![](http://upload-images.jianshu.io/upload_images/3871423-da623f136e04c212.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/3871423-af882a438ce1bb34.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](http://upload-images.jianshu.io/upload_images/3871423-c8e1c0aba3a341fb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)