Java+maven+selenium+testng+reportNG+jenkins 自动化环境搭建【全网最详细的搭建过程指导】

搭建好的项目已上传到GitHub

https://github.com/cyjs1988/selenium-java-maven-testNG-reportNG


【大伙儿先跟着这个步骤先做,做到后面,会有当时本人以小白的态度去搭建这个环境之后 遇到的问题解决方案,不懂的评论留言!】

1. Java环境 
安装好Java jdk,如图所示: 
这里写图片描述 
配置好Java环境,在环境变量中添加Java所需要的环境: 
添加JAVA_HOME 
首先添加JAVA_HOME,把jdk的安装目录填入变量中。其次再添加CLASSPATH变量。 
这里写图片描述 
变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; (前面还有一个点也要复制哦) 
最后还需在Path环境中添加Java的bin目录。 
这里写图片描述 
变量值为:%JAVA_HOME%\bin; 
配置完成后如需测试Java是否成功,则可以在cmd命令行中输入JAVAC,出现该页面即可: 
这里写图片描述

———————————————————————————————————

2. maven环境 
直接下载maven压缩包解压至本地目录: 
这里写图片描述 
配置maven环境变量,添加M2_HOME变量。 
这里写图片描述 
更新系统Path 变量, 添加;%M2_HOME%\bin;到尾部 
这里写图片描述 
测试maven配置是否成功打开命令行窗口,输入mvn -v,如果有maven 版本信息输出则证明配置成功。 
这里写图片描述 
配置maven本地仓库,我们需要打开maven的配置文件,在文件中添加本地仓库路径。不修改则默认为C盘用户目录下的m2文件。 
这里写图片描述 
这里写图片描述

<localRepository>E:/m2/repository </localRepository> 
  • 1
  • 1

配置一个镜像仓库,加快下载jar包,由于maven自带的仓库访问量过大下载jar包显得太慢,我们需要选择其他的仓库加快我们的下载。 
这里写图片描述 
这里写图片描述

  1. <mirror>
  2. <id>alimaven </id>
  3. <name>aliyun maven </name>
  4. <url>http://maven.aliyun.com/nexus/content/groups/public/ </url>
  5. <mirrorOf>central </mirrorOf>
  6. </mirror>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  1. <profile>
  2. <id>jdk-1.4 </id>
  3. <activation>
  4. <jdk>1.4 </jdk>
  5. </activation>
  6. <repositories>
  7. <repository>
  8. <id>alimaven </id>
  9. <name>aliyun maven </name>
  10. <url>http://maven.aliyun.com/nexus/content/groups/public/ </url>
  11. <releases>
  12. <enabled>true </enabled>
  13. </releases>
  14. <snapshots>
  15. <enabled>false </enabled>
  16. </snapshots>
  17. </repository>
  18. </repositories>
  19. <pluginRepositories>
  20. <pluginRepository>
  21. <id>alimaven </id>
  22. <name>aliyun maven </name>
  23. <url>http://maven.aliyun.com/nexus/content/groups/public/ </url>
  24. <releases>
  25. <enabled>true </enabled>
  26. </releases>
  27. <snapshots>
  28. <enabled>false </enabled>
  29. </snapshots>
  30. </pluginRepository>
  31. </pluginRepositories>
  32. </profile>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

———————————————————————————————————

3. selenium环境 
在maven项目pom中添加selenium api。 
这里写图片描述 
然后让maven把该jar包导入进项目中,clean install 
这里写图片描述 
让我们来写个Demo测试一下selenium调用游览器是否成功。 
这里写图片描述 
ps:调用游览器需要下载对应的游览器驱动放至游览器目录下,并把游览器目录添加至Path环境之中。我以谷歌的chromedriver.exe为例。 
这里写图片描述 
火狐驱动为:这里写图片描述 
将游览器目录添加至Path环境之中: 
这里写图片描述 
(如有调用游览器无法进行url操作,或者无法调用游览器,请检查游览器版本和驱动版本是否兼容)

———————————————————————————————————

4. TestNG环境

我们需要在pom中添加这些模块:

  1. <dependency>
  2. <groupId>org.testng </groupId>
  3. <artifactId>testng </artifactId>
  4. <version>6.9.10 </version>
  5. </dependency>
  6. <dependency>
  7. <groupId>junit </groupId>
  8. <artifactId>junit </artifactId>
  9. <version>3.8.1 </version>
  10. </dependency>
  11. <!-- reportNg的依赖包 关联testNg ,这个包的主要作用就是对testng原生报告的美化-->
  12. <dependency>
  13. <groupId>org.uncommons </groupId>
  14. <artifactId>reportng </artifactId>
  15. <version>1.1.4 </version>
  16. <exclusions>
  17. <exclusion>
  18. <groupId>org.testng </groupId>
  19. <artifactId>testng </artifactId>
  20. </exclusion>
  21. </exclusions>
  22. </dependency>
  23. <dependency>
  24. <groupId>com.google.inject </groupId>
  25. <artifactId>guice </artifactId>
  26. <version>4.0-beta5 </version>
  27. </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

我们来写一个testng的demo看看能不能运行。 
这里写图片描述 
也可以使用testng.xml文件来运行,如图所示: 
这里写图片描述 
reportNg是对testng输入报告美化的插件。测试后能生成比testng自带的输出报告更美观的报告。在testng.xml中添加该代码。

  1. <listeners>
  2. <listener class-name="org.uncommons.reportng.HTMLReporter" />
  3. <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
  4. </listeners>
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

运行成功后会生成该文件: 
这里写图片描述

———————————————————————————————————

5. Jenkins环境

从Jenkins官网https://jenkins.io/index.html下载Jenkins.war包。 
war包可以直接部署到tomcat服务器上,如图所示: 
这里写图片描述 
安装部署Jenkins后,需配置Jenkins设置。 
这里写图片描述 
在管理插件中安装Maven Integration plugin插件。 
这里写图片描述 
在设置中设置JDK环境和maven环境,点击系统管理中的Global Tool Configuration。 
这里写图片描述 
设置好Jenkins中的JDK和maven环境 
这里写图片描述 
这里写图片描述 
到此Jenkins环境算是准备完毕了。接下来需要的是把已有的项目在Jenkins上面构建了 
我们需要在pom文件中把我们要运行testng.xml文件在构建运行,需要添加以下:

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.apache.maven.plugins </groupId>
  5. <artifactId>maven-compiler-plugin </artifactId>
  6. <configuration>
  7. <encoding>UTF-8 </encoding>
  8. </configuration>
  9. </plugin>
  10. <plugin>
  11. <groupId>org.apache.maven.plugins </groupId>
  12. <artifactId>maven-surefire-plugin </artifactId>
  13. <version>2.7.1 </version>
  14. <configuration>
  15. <!--<testFailureIgnore>true</testFailureIgnore>-->
  16. <suiteXmlFiles>
  17. <suiteXmlFile>testng.xml </suiteXmlFile>
  18. <!--此处testng.xml即为要运行的testng.xml文件-->
  19. </suiteXmlFiles>
  20. </configuration>
  21. </plugin>
  22. </plugins>
  23. </build>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

添加完毕后,我们就可以在构建的时候就能运行我们的testng.xml文件了,最后一步则需要在Jenkins构建了。在Jenkins上新建一个自由风格的软件项目。 
这里写图片描述 
在构建中选择lnvoke top-level Maven targets,如图所示: 
这里写图片描述 
设置好对应的pom文件即可 
这里写图片描述 
—-Jenkins 设置定时器,邮件等其他内容需自寻查找资料—-


===============================================================

当你把上面的这些步骤做完一遍,你肯定会发现如下问题:【我当时以小白的态度,去配置的时候,发现了如下问题,请点下面链接:】

http://blog.csdn.net/cyjs1988/article/details/72999953



【另外】

还有一篇文章《我的自动化测试历程(Selenium+TestNG+Java+ReportNG+Jenkins)》值得我们参考:http://blog.csdn.net/shilinjie_8952/article/details/53380373

猜你喜欢

转载自blog.csdn.net/qq_34671951/article/details/80916224
今日推荐