自动化测试是Jenkins持续集成和部署的又一核心价值体现,我们先来做一个基于Junit 的  TestNG 测试。我们的实现步骤是:1、在Eclipse上安装TestNG插件;2、编写Junit测试及TestNG.xml配置;3、在Jenkins上安装xUnit插件;4、添加构建任务的测试及报告配置。另外除了Junit测试还有模拟浏览器测试的Selenium测试。

在Eclipse上安装TestNG插件

采用update URL方式进行安装:

Jenkins集成TestNG Junit自动化测试_junit测试

输入网址:http://beust.com/eclipse

Jenkins集成TestNG Junit自动化测试_junit测试_02

Jenkins集成TestNG Junit自动化测试_java_03


安装完成后重启eclipse后生效。查看TestNG是否安装成功:

Jenkins集成TestNG Junit自动化测试_junit测试_04

Jenkins集成TestNG Junit自动化测试_junit测试_05


编写Junit测试及TestNG.xml配置

首先,在maven项目上导入TestNG依赖环境:

导入TestNG依赖包

Jenkins集成TestNG Junit自动化测试_junit测试_06

Jenkins集成TestNG Junit自动化测试_java_07

新建testng class文件

Jenkins集成TestNG Junit自动化测试_java_08



创建自己的Junit TestNG配置:

Jenkins集成TestNG Junit自动化测试_java_09

此时会生成TestNG.xml和FirstTest.java到测试目录下。我们可以根据此方式添加其他的测试,如SecondTest.java和ThirdTest.java

Jenkins集成TestNG Junit自动化测试_junit测试_10

下面我们来看下TestNG.xml的配置:

[html] 
​​view plain​​​
​​​copy​​


1. <?xml version="1.0" encoding="UTF-8"?>
2. <suite name="Suite" parallel="false">
3. <test name="Test">
4. <classes>
5. <class name="com.boonya.app.test.FirstTest" />
6. <class name="com.boonya.app.test.SecondTest" />
7. <class name="com.boonya.app.test.ThirdTest" />
8. </classes>
9. </test> <!-- Test -->
10. </suite> <!-- Suite -->

注:SecondTest.java和ThirdTest.java是手动配置进去的,因为TestNG.xml只生成一次。


在Jenkins上安装xUnit插件

xUnit:支持非Java以外的Junit测试。

Jenkins集成TestNG Junit自动化测试_xml_11

注:Jenkins 推荐插件安装已经装过Junit Plugin了。


添加构建任务的测试及报告配置

项目在编译打包的时候需要用到testng依赖包,在pom.xml内添加如下配置:

[html] 
​​view plain​​​
​​​copy​​


1. <!-- https://mvnrepository.com/artifact/org.testng/testng -->
2. <dependency>
3. <groupId>org.testng</groupId>
4. <artifactId>testng</artifactId>
5. <version>6.11</version>
6. <scope>test</scope>
7. </dependency>

现在来配置Jenkins,因为我们之前项目没有添加Junit测试,所以构建命令直接使用: mvn clean install 就可以了,加入Junit需要跳过测试命令为: clean install -Dmaven.test.skip=true ;当我们需要执行测试类的时候,我们需要配置单元测试命令( mvn test ) 或者 单元测试&集成测试命令( mvn verify )。如下图所示:

Jenkins集成TestNG Junit自动化测试_java_12

目前阶段执行测试用例使用mvn  test和mvn verify都可以。接下来我们配置Test NG  Junit 测试报告(Publish Junit tset result report 配置操作自动前置):

Jenkins集成TestNG Junit自动化测试_xml_13

注意:TestNG版本6.x以上测试报告的地址为**/target/surefire-reports/*.xml而不是‘myproject/target/test-reports/*.xml’,您可以通过构建任务的工作空间去找到对应的测试报告路径,如下所示:

Jenkins集成TestNG Junit自动化测试_junit测试_14


测试结果相关数据展示

整体测试历史成功失败统计:

Jenkins集成TestNG Junit自动化测试_junit测试_15

点击彩色部分进入用例分析:

Jenkins集成TestNG Junit自动化测试_java_16

进入测试报告目录进行查看:

index.html

Jenkins集成TestNG Junit自动化测试_junit测试_17


Jenkins集成TestNG Junit自动化测试_xml_18


emailable-report.html

Jenkins集成TestNG Junit自动化测试_xml_19


TestNG 自动化Junit测试到此已配置完成。

注意:如果现在eclipse运行TestNG测试用例只需要在TestNG.xml文件上右键执行Run as >TestNG suite即可。

TestNG maven插件: ​​http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html​

Selenium浏览器模拟测试介绍:​​http://www.seleniumhq.org/​