前段时间搜到 @ycwdaaaa 的allure--开源 report 框架阶段性总结介绍 ,然后发现有 Allure2,页面丰富度及功能增加不少,能够解决一些 Allure 不足的地方,故站在巨人的肩膀上写此介绍.
用过 Allure 的肯定知道它是一个 report 框架,支持 Junit/testng 等框架,支持 Jenkins,拥有简介的报告界面,丰富的自定义字段,可以展示你任何想展示的内容到测试报告上.
Allure2 使用说明
Allure2 首页
pom.xml 主要配置
<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>
Jenkins 配置
安装 Allure 插件
配置 Allure 插件到最新 2.2.1 版本
Jenkins job 中配置
到此 Allure2 与 Jenkins 集成 结束.
我遇到了在 jenkins 构建完点击 allure report 空白的问题,请问如何解决?
怎么和 junit 一起用,都是 testng 的
找到原因了,最近 jenkins 的 allure 插件更新了,安装最新插件
需要更新 pom 文件使用方法.
<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>
学习一下!
请教下报告的趋势图 trend 是空的,是要设置哪里吗?
请教 汉化怎么搞定的? 谢谢!
我的实现了,希望能得到汉化的秘籍! @zhupengfarmer
请问下,跟 jenkins 集成,也需要在项目中配置 pom 吗?还是直接配置插件?
以及 jenkins 安装插件的时候居然失败了,求解
这个问题已解决,自己回答下
是 jenkins 的 jdk 是 1.6,而 allure 是 1.7,修改 jenkins 成 1.7 就可以正常安装了
@dftx511619 html 报告是什么生成的呢
allure2 有官方文档吗,发一下地址,谢谢
楼主我又来了。。allure 这个貌似不能跟 jmeter 集成吧,我忙活一大通发现用不了啊
首先,你需要去 看下 maven 的东西,pom 文件配置啊, 怎么执行 maven 项目,然后再看下 jenkins 怎么与 maven git/svn 集成.
是这样的,首先 testng /allure 与 maven 集成,让 maven 执行 testng ,让 allure 把 testng 的执行结果收集,然后 通过 jenkins 触发 mavne 执行,jenkins 的 allure 插件 接受 allure 的报告并展示. 至于 jmeter,如果你是 java 代码写 jmeter 测试,而不是 jmeter ide 测试的话,也是这个思路
我目前就是使用的 java 写 jar 包,jmeter 写测试计划 jmx,然后用 maven 执行 jmx 文件进行的测试。可是我发现 allure 貌似没有 jmx 相关的插件,使用你的 POM 都是 testng 相关的。我现在单独 run eclipse 里的项目,可以测试 OK,在 jenkins 上也可以测试 OK,allure 报告也生成了,只不过就是 allure 报告并没有能够收集到我用 jmx 测试接口的数据
所以现在报告里都是 0
嗯 你可以 用 testng 去执行 jmx ,一样的. 至于你说的数据,需要用到 allure 的定制化报告,这个在 allure 官网介绍有,我是把要展示的内容以附件的方式.
Allure.addAttachment(String name, String type, InputStream content, String fileExtension)
这个方法就在你的报告中添加了一个附件,附件可以是 text image 等等.你展示什么数据都可以这个你详细看下官网介绍吧
想问下 jenkins 为什么会出现 2 个 allure 报告?
关键的问题就是咋用 testng 去执行 jmx,我之前一直都是用的 maven 直接执行的,POM 中大概这样配置的,然后直接 mvn verify 来执行的 jmx。现在发现我这种集成方式貌似要集成 allure 有点难啊
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.0.3</version>
<configuration>
<appendResultsTimestamp>true</appendResultsTimestamp>
</configuration>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
</plugin>
请教一下
官方使用文档没更新?
<allure.version>2.0-BETA16</allure.version>
<!-- 引入allure-testng 依赖包 -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>${allure.version}</version>
</dependency>
我这么用的 一直可以啊?
可能是你本地仓库有资源吧,官方文档用的是这段
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>LAST_VERSION</version>
<scope>test</scope>
</dependency>
昨天第一次用,这个依赖确实下不下来
就是 eclipse 自动生产的
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
你说这个?
为什么我的会是这样,请各位大神指点一下,多谢!
我找到那个依赖了
<!-- https://mvnrepository.com/artifact/io.qameta.allure/allure-testng -->
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.0-BETA16</version>
</dependency>
@dftx511619 请问下报告中结果中如何生成自定义 log 呢,如:
@zhupengfarmer 请教一下,使用 allure,脚本中都使用 throws Exception 的形式抛出异常,但是测试报告中并不能把异常详情捕获到,类似
,而实际日志中
,异常能否我们自定义呢
我的报告打开也是空白,日志是这样的,有碰到类似情况的同学吗?麻烦分享下,感谢
[jmeter-test] $ /var/lib/jenkins/tools/ru.yandex.qatools.allure.jenkins.tools.AllureCommandlineInstallation/allure/bin/allure generate -o /var/lib/jenkins/workspace/Jmeter/jmeter-test/allure-report
allure-results does not exists
send analytics
Report successfully generated to /var/lib/jenkins/workspace/Jmeter/jmeter-test/allure-report
Allure report was successfully generated.
Creating artifact for the build.
Artifact was added to the build.
13.6.3. Usage
You can generate a report using one of the following command:
mvn allure:serve
Report will be generated into temp folder. Web server with results will start.
mvn allure:report
Report will be generated tо directory: target/site/allure-maven/index.html
按照官方给的文档,上面 mvn allure:serve 报告页面有数据,mvn allure:report 得报告没数据,而且打开得时候 app.js 报错了。有解决得办法吗??junit4 的
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.0-BETA18</version>
</dependency>
用了好久才发现我的 allure2 没有按构建区分结果,报告都是生成在 workspace/allure-results 里。没有生成在 target 文件夹里。
请问你的 maven 配置是怎么做的?
配置我找到了,在\src\test\resources\ 添加 allure.properties,内容有 allure.results.directory=target/allure-results
请问 有人遇到 这样的问题吗,怎么解决的呀 弄了好久 也没出来数据 谢谢了!!!!
第一个问题一直没有找到解决办法,第二个我配置的 Results directories 如图但是也不行,报告一直没有生成,是还需要额外的配置吗?
有人知道如何解决吗?
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-testng</artifactId>
<version>2.0-BETA21</version>
<scope>test</scope>
</dependency>
我现在用的这个版本。你是不是版本号填错了 ,附上 git-hub
https://github.com/allure-framework/allure-java
你用的 testng 什么版本啊?我用这个版本的 allure-testng 报下面的错
java.lang.UnsupportedClassVersionError: io/qameta/allure/testng/AllureTestNg : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.util.ServiceLoader$LazyIterator.next(Unknown Source)
at java.util.ServiceLoader$1.next(Unknown Source)
at org.testng.TestNG.addServiceLoaderListeners(TestNG.java:961)
at org.testng.TestNG.initializeConfiguration(TestNG.java:896)
at org.testng.TestNG.run(TestNG.java:1031)
at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:283)
at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:75)
at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:120)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
jenkins 上设置了 allure-results 的目录一直无效, 总是提示找不到 allure-results , 有碰过这个情况吗?
我的 allure 启动后,overview 只有一处有数据,其他区域没有数据
以下是 allure 在 pom 文件中涉及到的配置:
楼主大大救命呐,搞了半年没搞出来为什么是空白的,如果看出什么异样就可怜可怜我吧,搞不出来啊......
jenkins 运行到失败 case 自动结束,allure 展现不出来错误 case
[ERROR] activate_EntityCard(cashier.ui_Membership_Test) Time elapsed: 13.383 s <<< FAILURE!
io.qameta.allure.AllureResultsWriteException: Could not write Allure test result
Caused by: java.nio.channels.ClosedByInterruptException
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR] cashier.ui_Membership_Test.activate_EntityCard(cashier.ui_Membership_Test)
[ERROR] Run 1: ui_Membership_Test.activate_EntityCard:51 Element should be text '收取 20 元' {.confirm-dialognew_title}
Element: '
java.lang.NoSuchMethodError: org.testng.xml.XmlTest.getLocalParameters() Ljav
出现这个问题是因为 testng 版本和 Allure 版本不匹配导致的
请教一下,怎么做,我死活搞不出来,大神加个微信:WeiboGe2012
jenkins 里面路径配置有问题,target/allure-results 改成 **/target/allure-results。我的之前和你的报错一样,这样解决了
应该是 jenkins 里面路径配置有问题,target/allure-results 改成 **/target/allure-results。我的之前和你的报错一样,这样解决了
allure 是根据什么来确定该 Testcase 是否执行呀?目前来看好像不走 testng.xml 呀。
python 环境,有没有遇到ValueError: option names {'--alluredir'} already added
报错的,卸载了 pytest-allure-adaptor,留着 allure-pytest、allure-python-commons 结果 ok。。。
jenkins 出现两个报告的情况,2.7 版本没有解决,有没有其他同学遇到
python 环境展示截图内容的操作:
from allure_commons.types import AttachmentType
with pytest.allure.step('截图步骤'):
allure.attach(self.driver.get_screenshot_as_png(), name="截图", attachment_type=AttachmentType.PNG)
@lizzyzd 还没有
不知道你解决没有,应该是因为--alluredir 指定了两个参数导致的,你可以全局搜索一下看是不是框架源码中有一样的参数,我的解决办法是卸载 allure-pytest,我也是困扰了很久,今天问了做开发的同事才发现可能是这个原因,然后卸载一个包以后就好了,希望可以帮到你
趋势图,必须是在 jenkins 上构建才能够出现吗?自己本地构建运行 testng,没有办法得出趋势图吗????
555-555-0199@example.com
Jenkins 执行测试后,点开对应 build 的 allure 报告,地址中 IP 地址是错误的,
有没有朋友遇到这样的问题,就是点开后 url 的 IP 地址不对,不是 Jenkins 的 IP 地址,导致报告打不开。
设置一个 自定义的 workspace,genernal/use custom workspace,,将路径指定到项目路径下,allure-results 路径使用相对路径
可能是因为 没有读取到 allure-results, general/use custom workspace,,,设置路径到项目路径下,就是 POM.XML 所在的路径,allure-results 使用默认的相对路径,这样就可以读到数据了
大神麻烦问一下,构建过程中 cese 运行成功,但是报告报错:
运行 UI 自动化时,生成 Allure 报告报错,“java.io.IOException: Can't find allure commandline”
是我哪块少配置了吗
Jenkins+Allure+Pytest 环境,构建后用例执行成功,但不会生成报告,而且在项目中点击 Allure Report 显示 404 错误,请教下是什么问题呢?
有没有人遇到 allure 报告的分类页面在 Jenkins 上报 404 吗?
报告其他页面都是正常显示,就是分类页面报 404,有什么好的解决方案吗?
请问 case 里设置了 Step 注释。生成的报告里没有 test body。这个是怎么回事?有人遇到过这种情况吗???
请教一下动态 description 可以实现吗?具体就是用例名字是从 excel 读取,dataprovider 驱动,看了官方文档用花括号好像没有效果。
Jenkins-->manage jenkins-->configure system-->Jenkins Location-->Jenkins URL 更改为新 IP 地址。
这种情况是因为电脑的 IP 动态变化了下,而 Jenkins 的 IP 没有跟随系统动态更新.