allure+testng遇到的一些问题

java+testng+allure

听说allure报告,"很好看",决定引入。

首先看allure官网,需要在pom.xml中引入包

文档:https://docs.qameta.io/allure#_testng

按照说明,引入后

 

之后再执行mvn clean test这个之后再执行allure serve target/allure-results(基本配置maven,allure包解压之后,配置环境变量,重启!mvn和allure命令才能用,不再详细说明)

哎,问题来了,首先mvn clean test就报错了:

Error:(4, 30) java: 无法访问org.testng.annotations.Test
错误的类文件: ***********\org\testng\testng\7.6.0\testng-7.6.0.jar(org/testng/annotations/Test.class)
类文件具有错误的版本 55.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。

翻译之后如上,然后经调查发现,是自己顺手改了一个testng的版本号。。想用最新版,改成了7.6.0,愁人

原因:jdk版本和testng使用的jdk版本不统一。testng版本 7.6官网显示是JDK11以上版本才可用。我本地用的还是jdk8

改回使用低版本的testng 6.14.3,不报错了,开心,然后就继续执行allure serve target/allure-results,哎,一瞬间挺开心的,因为我看到浏览器自动打开了一个html

哇,神奇,but,,,显示的是NaN%,一碗冷水下肚,嗝儿~~

好吧,继续探索

首先问自己,这个命令行啥意思,allure serve是生成并打开的意思,还有一个命令行allure generate 是生成报告

那么,很显然allure serve target/allure-results,后半部分,就是读哪个路径的数据target/allure-results,很显然,我回去瞧了一眼,果然,哪里有个这个文件夹的影子。。

好吧,找到原因之后,应该是报告或者数据存储的路径没有配置,好的,pom.xml加上allure.results.directory的配置

<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>
<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>

然后再重新执行mvn clean test

发现项目下生成了target/allure-results目录,留下了感动的泪水

好的,再次满怀希望执行allure serve target/allure-results,哇,好的,数据有了,开心。

 记录一下pom.xml文件

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

<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.19.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>7.6.0</version>
</dependency>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>
<configuration>
<testFailureIgnore>false</testFailureIgnore>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<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>

 

posted @ 2022-09-01 15:51  小眼睛大生活  阅读(677)  评论(0)    收藏  举报