Allure
1、安装allure
1.1.1. Linux
对于基于Debian的存储库,提供了PPA:
sudo apt-add-repository ppa:qameta/allure
sudo apt-get update
sudo apt-get install allure
1.1.2. Mac OS X
对于Mas OS,可通过Homebrew进行自动安装
brew install allure
1.1.3. Windows
对于Windows,可从Scoop命令行安装程序获得Allure 。
要安装Allure,请下载并安装Scoop,然后在Powershell中执行:
scoop install allure
Scoop还能够更新Allure发行版安装。为此,导航到Scoop安装目录并执行
\bin\checkver.ps1 allure -u
这将检查Allure的较新版本,并更新清单文件。然后执行
scoop update allure
1.1.4.手动安装
- 从Maven Central下载最新版本的zip存档。
- 将存档解压缩到allure-commandline目录。
- 导航到bin目录。
- 使用allure.bat或用于Windows的诱惑力对其他Unix平台。
- 为系统PATH增添环境变量。
1.1.5.检查安装
allure --version
在控制台中执行以确保现在可以使用魅力:
$ allure --version
2.0.1
2、Pytest 使用allure
2.1.1.安装
可从PyPI安装Pytest ,因此建议使用pip进行安装。要安装最新版本,请从命令行执行:
$ pip install allure-pytest
$ pip install allure-python-commons
这将安装allure-pytest和allure-python-commons程序包,以生成与Allure 2兼容的报告数据。如果将早期版本的适配器用于 第一代Allure报告,则需要首先将其卸载。
2.1.2. 用法
要使Allure侦听器能够在测试执行期间收集结果,只需添加--alluredir
option并提供应存储结果的文件夹的路径。例如:
$ pytest --alluredir=/tmp/my_allure_results
要在测试完成后查看实际报告,您需要使用Allure命令行实用程序从结果中生成报告:直接打开浏览器生成
$ allure serve /tmp/my_allure_results
生成文件,手动打开生成的报告
$ allure generate /tmp/my_allure_results -o /tmp_html/my_allure_results --clean #生成报告
$ allure open -h localhost -p 8883 /tmp/my_allure_results #打开报告
2.1.3.常用特性
使用方法 | 参数值 | 参数说明 |
---|---|---|
@allure.epic() | epic描述 | 敏捷里面的概念,定义史诗,往下是feature |
@allure.feature() | 模块名称 | 功能点的描述,往下是story |
@allure.story() | 子功能模块名字 | 用户故事,往下是title |
@allure.title(用例的标题) | 用例的标题 | 重命名html报告名称 |
@allure.testcase() | 测试用例的链接地址 | 对应功能测试用例系统里面的case |
@allure.issue() | 缺陷 | 对应缺陷管理系统里面的链接 |
@allure.description() | 用例描述 | 测试用例的描述 |
@allure.step() | 操作步骤 | 测试用例的步骤 |
@allure.severity() | 用例等级 | blocker:阻塞,critical:功能点缺失,normal:数值计算错误,<br />minor:缺陷,trivial:轻微缺陷 |
@allure.link() | 链接 | 定义一个链接,在测试报告展现 |
@allure.attach() | 附加的信息 | 可以数据、文本、图片、视频、网页 |
@allure.attachment() | 附件 | 报告添加附件 |
2.1.4.按照重要性的级别进行一定范围的测试
-
在方法和类上添加下面代码:
@allure.severity(allure.severitiy_level.TRIVIAL)
-
执行代码
pytest -s -v 文件名 --allure-severites 等级1,等级2
2.1.5.添加文件、文本
语法:allure.attach(body, name, attachment_type, extension)
参数解释:
body:要写入附件的内容;
name:附件名字;
attachment_type:附件类型,是allure.attachment_type其中的一种;
extension:附件的扩展名;
allure.attach的用法二:
语法:allure.attach.file(source, name, attachment_type, extension)
参数解释:
source:文件路径,相当于传一个文件;
name:附件名字;
attachment_type:附件类型,是allure.attachment_type其中的一种;
extension:附件的扩展名;
allure.attach("文本",attachment_type=allure.attachment_type.TEXT)
# 纯文本 attachment_type: llure.attachment_type.HTML allure.attachment_type.TEXT 等
allure.attach.file("./untils/log/2021-04-20模块名称.log", attachment_type=allure.attachment_type.TEXT)
# 含有文件