首页 > 编程学习 > Pytest框架 — 16、Pytest的测试报告(pytest-html和allure)

目录
  • 1、前言
  • 2、pytest-html生成测试报告
    • (1)pytest-html插件安装
    • (2)pytest-html的使用
    • (3)报告独立显示
  • 3、Allure框架生成测试报告
    • (1)说明
    • (2)环境准备
      • 步骤1:安装Allure框架
      • 步骤2:下载allure_pytest库
      • 步骤3:指定测试数据存放位置
      • 步骤4:生成html报告
        • 方法1:生成报告
        • 方法2:直接启动web服务打开报告(不生成报告文件)

1、前言

pytest中常用的测试报告生成方法有两种,一种是通过pytest-html插件来完成,另一种通过Allure框架来实现。

2、pytest-html生成测试报告

(1)pytest-html插件安装

pip install pytest-html

(2)pytest-html的使用

  1. 命令行执行:
    • pytest -s -v xxx.py --html=./report/report.html
  2. main()函数执行:
    • pytest.main(['-vs','--html=./report/report.html'])
  3. 全局配置:
    • pytest.iniaddopts属性后面添加--html=../report/report.html

(3)报告独立显示

在(2)中的执行方法生成的报告,css是独立的,分享报告的时候样式会丢失,为了更好的分享测试报告,可以通过添加 --self-contained-html参数将css样式合并到html里。
pytest -v -s xxx.py --html=./report/report.html --self-contained-html

更多功能查看官方文档:https://pytest-html.readthedocs.io/en/latest/

3、Allure框架生成测试报告

(1)说明

Allure框架生成的报告相比pytest-html更加完美,推荐使用Allure框架来生成测试报告。
Allure是一个Report框架,是灵活,轻量级,支持多语言的测试报告工具,还可以集成到Jenkins上。

(2)环境准备

步骤1:安装Allure框架

下载地址:https://github.com/allure-framework/allure2/releases

windows下:
1)解压下载的框架文件,放到自己指定的目录中
2)把框架的bin目录加入到Path环境变量中
3)验证框架是否安装成功,命令allure --version
mac下:
1)确定解压下载的框架文件,放到自己指定的目录中
2)添加环境变量:
查看mac系统版本,我的mac版本是Bigsur,可以通过sudo nano ~/.zshrc进行配置
Apple官方说明:

PATH="/Users/qishuai/allure-2.19.0/bin:${PATH}"
export PATH`

3)验证框架是否安装成功,命令:allure --version,正常出现版本号即为安装成功,但我的出现了如下提示,需要安装jdk

mac安装jdk参考:https://www.jianshu.com/p/199cd1abd570

安装jdk完毕后,再次验证框架是否安装成功

步骤2:下载allure_pytest库

pip install allure-pytest

步骤3:指定测试数据存放位置

  1. 命令行执行:
    • 在命令行中增加--alluredir ../report/temp_report_data
  2. 全局配置文件:
    • pytest.ini文件的addopts中添加--alluredir ../report/temp_report_data
  3. main函数执行:
    • pytest.main(['-v','-s','--allured','../report/temp_report_data'])

步骤4:生成html报告

方法1:生成报告

通过allure框架把json格式的测试数据转换为测试报告
allure generate ./report/temp_report_data -o ./report/html --clean
命令解释:

  • allure generate:生成命令
  • ./report/temp_report_data:存放测试数据的目录
  • -o:输出
  • ./report/html:存放生成html报告的路径
  • --clean:清空./report/html路径目录中原来的测试报告

补充:可通过命令创建web服务打开创建的报告文件
allure open -h 127.0.0.1 -p 5555 ./report/html

方法2:直接启动web服务打开报告(不生成报告文件)

方法1中生成html测试报告还要手动打开或输入命令创建web服务打开,我们还可以在生成测试数据之后直接用allure serve .report/temp_report_data命令创建一个web服务,自动在浏览器中打开测试报告

参考
https://developer.aliyun.com/article/948360
https://www.cnblogs.com/qican/p/14573869.html

Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号