1. 介绍

官方文档:Allure Pytest configuration

Allure Report 由一个框架适配器和 allure 命令行工具组成,是一个流行的开源工具,用于可视化测试运行的结果。它可以以很少甚至零配置的方式添加到您的测试工作流中。它生成的报告可以在任何地方打开,并且任何人都可以阅读,无需深厚的技术知识。

2. 安装

2.1 下载 allure-pytest 包

在命令行输入:

# 建议跟这里统一版本,避免因版本不同造成的使用差异
pip install allure-pytest==2.13.5

结果如下所示:

在这里插入图片描述

2.2 下载 Win 版 Allure 报告

下载链接:点击即可下载

下载完成以后,解压即可。

在这里插入图片描述

添加系统环境变量:将 allure-2.30.0 对应 bin 目录添加到系统环境变量中

C:\Users\20399\Desktop\allure-2.30.0\bin

如下所示:

在这里插入图片描述

打开 cmd 查看 allure 版本

在这里插入图片描述

注意:Allure 框架是基于 Java 开发的,所以必须先安装 Java。

另外,还需要在 PyCharm 控制台查看是否能显示 allure 版本信息

在这里插入图片描述

如上所示,若出现 cmd 中执行 allure --version 可以打印版本,但是 pycharm 控制台执行命令提示命令找不到,则需要修改 pycharm 中命令行环境,如下:

在这里插入图片描述

保存后需要重启 PyCharm,然后再检查命令行是否可以使用 allure 命令

在这里插入图片描述

3. 使用

先创建两个文件:test_allure01.py 和 test_allure02.py。

# test_allure01.py
def test_aaa():
    assert "aaa" == "aaa"

def test_bbb():
    assert "bbb" == "bbb"

# test_allure02.py
def test_ccc():
    assert "ccc" == "ccc"

def test_ddd():
    assert "ddd" == "ddd"

结果如下所示:pytest 测试用例已经通过

在这里插入图片描述

3.1 生成测试报告

第一步:运行自动化,并指定测试报告放置路径

pytest --alluredir=results_dir(保存测试报告的路径)

代码示例如下:在控制台执行

pytest --alluredir=allure-results

结果如下所示:

在这里插入图片描述

当前项目下自动生成 allre-results 文件夹,存放报告相关文件。

另外,生成测试报告可以在控制台通过命令将结果保存在 allre-results 文件夹中,也可以在 pytest.ini 文件中配置测试报告放置路径:

addopts = -vs --alluredir allure-results

3.2 查看测试报告

3.2.1 方法一

启动一个本地服务器来在浏览器中展示测试报告。

终端执行命令:它会自动在浏览器打开测试报告

allure serve [options] <allure-results>

参数如下:

  • --host:指定服务器监听的主机地址,默认为 localhost。
  • --port:指定服务器监听的端口号,默认为 0(自动选择空闲端口)
  • --clean-alluredir:清除上一次生成的测试报告

代码示例如下:

# 不指定端口号和主机地址
allure serve .\allure-results\

# 或者指定端口号
allure serve --port 8787 .\allure-results\

# 清除上一次生成的测试报告
allure serve .\allure-results\ --clean-alluredir

结果如下所示:

在这里插入图片描述

然后打开连接即可。

在这里插入图片描述

另外,如果历史生成的 json 文件不清空,那么生成的测试报告会整合历史的运行情况,并集成在一个测试报告中。所以必须添加 --clean 参数。

这个命令也可以在 pytest.ini 文件中进行配置

addopts = -vs --alluredir allure-results --clean-alluredir

3.2.2 方法二

从测试结果生成测试报告。

终端执行命令:

allure generate [options] <allure-results> -o <reports>

代码示例如下:

allure generate .\allure-results\ -o .\allure-report --clean

结果如下所示:

在这里插入图片描述

相当于生成了一个本地的 html 文件

在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐