文章目录


Allure2 和 ExtentReports 比较

java+testng 中常用的有 extentreports 报告模板还有 allure2 报告模板。二者都比较常用,但是 allure2 用到应该稍微多一些

extentreports 和 allure2 比较:


  • extentreports 生成的是 html 报告方便 jenkins 的邮件发送
  • extentreports 只支持 java 和 .net 比 allure2 支持范围少很多
  • extentreports 可定制的内容展示比 allure2 少
  • 但是 extentreports 带有几种展示历史报告的服务端,这个很赞
  • extentreports 官网有 V2.x 和 V3.x 版本的,V3.x 版本的只支持 jkd 8 及其以上

testng使用allure2测试报告_allure2

具体操作步骤

第一步:配置依赖

注意下方还要加上自己的 testng 和 junit 的依赖,否则怎么去做测试呢

也要注意下面的版本可以自己去选择,版本的话 testng 和 allure2 可以都使用 RELEASE 版本,这样不会产生版本冲突的问题

下面的配置代码都可以在 allure2 官网找到,这里提供 allure2 官网链接​​https://docs.qameta.io/allure​

<properties>
<aspectj.version>1.8.10</aspectj.version>
</properties>

<dependencies>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>LAST_VERSION</version>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<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>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

第二步:查看测试报告

运行测试用例,然后在项目中会生 allure2 的文件包,其中有测试报告,但是我们打开发现显示的是空白,这是因为需要你启动 jetty 服务,所以请看下面几步

第三步:下载 allure2 工具并配置环境变量

​allure2 工具下载​

下载好后,环境变量配置到 allure 的 bin 下为止,然后 cmd 中可以​​allure --version​​查看配置是否成功

第四步:allure2 工具创建本地 jetty 服务器实例

在项目 dir 路径下执行​​allure serve allure-results文件夹相对于项目的路径​​​,比如说执行​​allure serve target/allure-results​​,这样就可以成功创建本地 jetty 服务器实例,这样我们在浏览器可以看到很好看的 allure2 测试报告了!

allure 的使用

对于按照上面操作安装后我们跑完测试用例会在项目下直接生成一个 allure-results 文件,若我们配置好了 allure 环境变量,我们执行下面就可以直接打开默认浏览器查看报告了

allure serve allure-results

对于没有 allure-results 文件,我们也可以运行 target 下的

allure serve target/surefire-reports

生成 html 的压缩包利于发送给别人

allure generate allure-results/ -o /tmp/allure

allure 依赖还支持在测试方法上加上 @Description 注解来表示含义还有 @Attachment 等诸多依赖可以使用,这些注解的作用都是丰富测试报告

补充说明

当你第一次装完这些并且配置好这些工具之后,以后对于新的项目,你只用 pom 文件配置一下 allure2,然后运行测试用例让其在 target 下产生报告,再运行​​allure serve target/allure-results​​创建 jetty 实例就行了,这样就可以看报告了

另外下面这里在提供 allure2 的官网

  • allure2 工具官网介绍安装
    注意,这里是 allure2 工具不是那个依赖,用来产生 jetty 实例的。​​官网 allure2 安装​​,官网的这个安装方式通过 Scoop 工具去安装,我不推荐,这种方式直接给弄麻烦了,我们可以直接去 github 一搜然后 download 一下,再配一个环境变量就可以了

allure-testng 依赖的作用

如果我们仅仅是在 surefire 插件中配置好了 allure 而没有装上 allure-testng 依赖会导致,我们运行完测试脚本之后,能在 target 下找到 allure-results,但是项目直接目录下没有 allure-testng 这个文件夹,而 target 通过 allure 命令浏览器打开后也是空的测试用例

allure-testng 主要的作用就是解析 testng 测试用例并反馈到 allure 报告中,然后再直接项目路径中产生 allure-results,surefire 插件中配置的更像是一个 allure 模板