“人世间是一个大囚笼,每个人都在狱中,砥砺前行。九狱台中的刺,是生活中所要面对的砥砺,是锋利的刺,将自己肉身刺得千疮百孔,将自己的道心刺得千疮百孔。”

---《牧神记·九狱锁道心》


一、简介

  allure工具在业界已经使用N久,此处只是做个搬运工工作。

  官网:https://github.com/allure-framework/allure2

  官方文档:https://docs.qameta.io/allure/

  官方介绍:allure framework是一个轻量级支持多语言的测试报告工具,它以简洁的web报告形式展示以测试内容,允许参与开发过程的每个人从日常执行中提取最大程度的有用信息。

  

  划重点:跨平台多语言支持、web报告(html)、轻量、可集成jenkins。

二、环境搭建

  allure支持平台,在win、mac、linux均可使用。并且配置极为简单

  1、linux 

sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure

  2、mac

brew install allure

  3、win

scoop install allure

  当然,在win也可手动安装。

  ①在Maven Central下载最新的zip包

  ②解压allure-commandline目录

  ③配置path变量,路径为解压目录的bin目录

  ④验证配置:allure --version

  结束。very eazy!

三、基本使用

  idea引入相关插件和依赖包

 <!-- Allure maven plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<configuration>
<testFailureIgnore>false</testFailureIgnore>
<argLine>
-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"
</argLine>
<properties>
<property>
<name>listener</name>
<value>io.qameta.allure.junit4.AllureJunit4</value>
</property>
</properties>
</configuration>
<dependencies>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${aspectj.version}</version>
</dependency>
</dependencies>
</plugin>
<dependency>
<groupId>io.qameta.allure</groupId>
<artifactId>allure-junit4</artifactId>
<version>2.13.1</version>
<scope>test</scope>
</dependency>

  编写测试类。

  那么此处为了方便,便是用前面学习restassured的测试类。

  执行命令:mvn test(执行特定类:mvn -Dtest=package.class test)

  运行完成执行target目录下会生成“\target\surefire-reports”目录,其目录下会生成xml、txt文件。

  ok,allure可以上场了。

  执行命令:allure serve \target\surefire-reports,此时会生成html报告,直接启动其电脑默认浏览器打开。

  

  具体的报告展示参数便不再去介绍了。请看官方文档。

  此处还有一个小细节,执行完上述操作之后,会发现项目的根目录会生成一个allure-results目录,目录下方存着好几个json文件。别急,还有下文。

  用allure serve \target\surefire-reports执行完成生成的报告,你会发现它自行开辟了一个本地端口,那么如果kill掉该端口,随之该web报告便也就不能查看了。

  执行命令:allure generate allure-results -o allure-report,会发现项目根目录会生成allure-report目录。那么静态报告便存放于此。

四、Jenkins集成

  官方说明:https://docs.qameta.io/allure/#_jenkins

  简单的步骤:安装allure plugin

  

  job中配置allure report即可。

  此处有个坑:切记不可仿照上方截图的目录。

  jenkins的报告其实是使用allure generate allure-results -c -o allure-report命令去生成静态报告,插件进行展示。

  从执行日志便可看出:

  

  那么allure-results目录在哪块一定要知道。

  不然便会出现这样的情况:

  

  那么allure-report必然为空。

  

  此处是使用的junit4,解决方案:

  1、增加allure.properties,确认allure-results的输出路径、

allure.results.directory=target/allure-results      //输出目录
allure.link.mylink.pattern=http://xxx/mylink/{}
allure.link.issue.pattern=http://xxx/issue/{}
allure.link.tms.pattern=http://xxx/tms/{}

  2、jenkins构建maven类型的job,在job中指定自定义工作目录

  ok、构建成功。查看报告。

定制你的“魅力”报告--Allure的更多相关文章

  1. allure报告定制(pytest+jenkins)

    环境及安装可查看 pytest+jenkins安装+allure导出报告 要让allure报告更漂亮,更直观,需要在脚本中写入allure特性 一开始allure调用step().story().fe ...

  2. pytest生成allure报告

    在pytest框架中可以用很多插件来生成测试报告,本文总结下怎么生成allure报告 allure allure是一款开源的,专门用来展示测试结果的一个工具,allure可以与很多的测试框架做集成,比 ...

  3. 移动自动化appium(2)- Allure报告使用详解

    6 Allure报告 6.1 Allure介绍 Allure是一个独立的报告插件,生成美观易读的报告,比之前的html好看,目前支持的语言:Java.PHP.Ruby.Python.C#等 6.2 A ...

  4. pytest文档8-参数化(parametrize)结合allure.title()生成不同标题报告

    参数化parametrize 先看一个简单的pytest参数化案例演示test_a.py # test_a.py import pytest import allure def login(usern ...

  5. allure使用简介

    #安装依赖包pip install requests_toolbeltpip install pyyamlpip install pytest-allure-adaptor #安装allure2 说明 ...

  6. Pytest单元测试框架-allure测试报告

    Allure Test Report 对于不同的编程语言,有很多很酷的测试框架.不幸的是,它们中只有少数能够提供测试执行输出的良好表示.Qameta软件测试团队正在致力于Allure--一个开源框架, ...

  7. pytest(11)-Allure生成测试报告(一)

    Allure是一个开源的测试报告生成框架,提供了测试报告定制化功能,相较于我们之前使用过pytest-html插件生成的html格式的测试报告,通过Allure生成的报告更加规范.清晰.美观. pyt ...

  8. pytest 11 allure2生成html报告

    allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面. 环境准备 1.pyt ...

  9. 环境搭建之allure的安装配置,及简单使用

    环境准备 首先是要安装好jdk的电脑上,运行java.javac这些命令都没有问题,要不安装allure时会报错 下载allure 如果直接用Jenkins上的插件,并不需要下载安装 allure官网 ...

随机推荐

  1. QFileInfo().created() 警告 created is deprecated 怎么改?

    有这样一行代码操作: QFileInfo(...).created().toString(...); QtCreator提示警告: 'created' is deprecated 'created' ...

  2. ros ap 的无线中继

    https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Repeater Wireless repeater will allow to re ...

  3. [转]MySQL之——崩溃-修复损坏的innodb:innodb_force_recovery

    原文 https://blog.csdn.net/l1028386804/article/details/77199194 1. mysql崩溃 --------------------------- ...

  4. 记C# 调用虹软人脸识别 那些坑

    上一个东家是从事安防行业的,致力于人工智能领域,有自主人脸识别.步态识别的算法.C++同事比较称职有什么问题都可以第一时间反馈,并得到合理的处理,封装的DLL 是基于更高性能的GPU算法,可支持更多线 ...

  5. linux nc 命令详解

    linux nc命令使用详解 功能说明:功能强大的网络工具语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o&l ...

  6. Source Insight添加新的文件类型

    1.前言 Source Insight这个软件工具功能非常强大,很适合用来分析一些大型的code工程,例如Linux内核源码,本文将简单介绍如何在Source Insight工程中添加一种新的文件类型 ...

  7. 全国自考C++程序设计

    一.单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中 只有一个是符合题目要求的,请将其代码填写在题后的括号内.错选.多选或未选均无 分. 1. 编写C++程序一般需经过的 ...

  8. [转帖]IBM Q3财报:云营收达到50亿美元 上升11%

    IBM Q3财报:云营收达到50亿美元 上升11% http://www.eetop.cn/cpu_soc/6946136.html 2019年Q3 IBM的营收 从千亿到 缩减到了 八百亿刀 卖掉了 ...

  9. 关于 Windows to go

    1. 在宿主计算器的操作系统中访问 Windows to go 的磁盘 如题,如果需要在宿主计算器的操作系统中访问 Windows to go 的U盘(移动硬盘)中的文件,只需要打开磁盘管理,“更改驱 ...

  10. Java学习:List接口

    List接口 java.util.list接口 extends Collection接口 List接口的特点: 有序的集合,存储元素和取出元素的顺序是一致的(存储123 取出123) 有索引,包含了一 ...