最近领导让我找一个可以每次打包自动生成测试用例的东西,jenkins或者idea都可以,

最后找到了这个allure,也踩了很多坑,废话不多说!,总结一下:

1 使用原生allure

添加依赖:

        <!-- 依赖reportNg 关联testNg-->
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency> <dependency>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-testng-adaptor</artifactId>
<version>1.3.6</version>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency> <!-- 依赖Guice -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.0</version>
</dependency> <dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.0-BETA14</version>
<scope>test</scope>
</dependency>
            <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<!--生成allure-result的目录-->
<systemProperties>
<property>
<name>allure.results.directory</name>
<value>./target/allure-results</value>
</property>
</systemProperties>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>

这块配置生成目录一定要正确,最好在target下面,默认会是surefile-results目录,可自己查看

使用特定注解编写测试代码:

@Feature("前线突击测试")
public class Test01 { @Test(description = "侯征测试")
@Story("测试发券")
@Description("主要测试四种券发送")
@Step("测试步骤....")
public void failedTest(){
Assert.assertEquals(2,2);
}
}

打包查看

项目根目录,使用命令:

mvn clean test

allure serve target/allure-results

会自动打开浏览器:

2 使用jenkins插件集成allure:

安装插件

配置allure

这里目录一定要和自己配置的目录一样,可先查看打包后在哪个目录,确保一定正确,不然用例报告没有数据

pom添加依赖

        <!-- 依赖reportNg 关联testNg-->
<dependency>
<groupId>org.uncommons</groupId>
<artifactId>reportng</artifactId>
<version>1.1.4</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency> <dependency>
<groupId>ru.yandex.qatools.allure</groupId>
<artifactId>allure-testng-adaptor</artifactId>
<version>1.3.6</version>
<exclusions>
<exclusion>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
</exclusion>
</exclusions>
</dependency> <!-- 依赖Guice -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.0</version>
</dependency> <dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.0-BETA14</version>
<scope>test</scope>
</dependency>

pom添加插件

            <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<!--生成allure-result的目录-->
<systemProperties>
<property>
<name>allure.results.directory</name>
<value>./target/allure-results</value>
</property>
</systemProperties>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>

这里这个目录很重要,最好这里直接指定,不使用默认的.

编写代码

@Feature("前线突击测试")
public class Test01 { @Test(description = "侯征测试")
@Story("测试发券")
@Description("主要测试四种券发送")
@Step("测试步骤....")
public void failedTest(){
Assert.assertEquals(2,2);
}
}

jenkins查看

注意点:生成内容为空问题(一般是路径不对):

我用的高版本,所以如果不写生成路径,默认是target/surefire-reports目录下,之前一直搞错了路径,所以一直有问题,

关于这个问题,如果为空,先去查看打包后的目录,看看生成的index.html这些在哪个目录,再看自己配置的对不对,

我就是被这个给坑了,网上说的都没有这一点,一定记住!

最新文章

  1. html中返回上一页的各种写法【转】
  2. Centos 上 Tengine安装
  3. TCP的定时器
  4. IIS部署Nodejs步骤
  5. Android Fragment分页显示的实现
  6. J2534 Pass-Thru Vehicle Programming ( SAE J1962 connector and Protocol )
  7. 简明解释算法中的大O符号
  8. jquery获得select选中索引
  9. SQL Server索引进阶第十一篇:索引碎片分析与解决
  10. Python第一天——入门Python(2)字符串的简单操作
  11. jq 进度条插件
  12. C重定向
  13. 浏览器开发者工具console
  14. codeforces660C
  15. 10. Firewalls (防火墙 2个)
  16. 浅析vue实例的生命周期(生命周期钩子)
  17. 微信小程序开发学习记录
  18. 2019-04-02-day024-内置方法
  19. C# Winform下一个热插拔的MIS/MRP/ERP框架(简介)
  20. 软件测试_测试工具_Loadrunner_IP欺骗

热门文章

  1. shellcode超级反杀
  2. Java动态代理 ----- jdk代理与cglib代理
  3. IntelliJ IDEA使用说明
  4. Python学习3月5号【python编程 从入门到实践】---》笔记
  5. 关于ESP8266 NodeCMU固件无法刷入新代码的解决方法
  6. 如何制作地图故事使用esri story maps
  7. C#实现文件Move操作和文件的Copy操作
  8. 什么样的项目适合docker部署,docker应用场景
  9. 网络连接报错“DNS服务未响应”
  10. JMeter——jmx脚本文件解析