Pytest之生成allure报告

一、前戏

在之前我们已经学会使用 pytest-html 插件生成 html 格式的测试报告:

 1 # 第一步,安装插件
 2 pip install pytest-html
 3  4 # 第二步,执行用例时使用 --html 参数
 5 ## main 函数中执行
 6 if __name__ == '__main__':
 7     pytest.main(["-vs", "--html=./report/result.html"])
 8     
 9 ## 使用命令模式执行
10 pytest -vs --html ./report/result.html

Pytest之生成allure报告

很明显报告的效果配不上我们高大上的逼格.......除了 pytest-html 插件,pytest 还可以和 allure 结合,生成更加详细美观的测试报告。

二、allure的使用

  • 第一步,下载第三方插件

pip install allure-pytest
  • 第二步,访问 allure 官网,下载最新的版本

网址:https://github.com/allure-framework/allure2/releases

Pytest之生成allure报告

  • 第三步,解压并配置环境变量,将解压后的一直到 bin 目录的文件路径添加到计算机环境变量的 path

Pytest之生成allure报告

  • 第四步,验证是否配置成功(如果 IDE 的终端中无法执行检查版本的命令,重启 IDE 即可)

Pytest之生成allure报告

Pytest之生成allure报告

  • 第五步,在项目的配置文件 pytest.ini 中添加参数 --alluredir ./tmp

1 [pytest]
2 addopts = -vs --alluredir ./tmp
3 testpaths = .
4 python_files = test_*.py
5 python_classes = Test*
6 python_functions = test

这个参数的作用是在用例执行时,会在临时文件夹 tmp 中生成很多 json 文件,这些文件记录了用例执行过程中的相关信息,最后生成报告使用到的数据就是从 json 中获取的。

Pytest之生成allure报告

  • 第六步,执行完用例后运行命令生成报告

allure generate ./tmp -o ./report --clean

# 参数详情
# ./tmp:存放临时 json 数据的目录
# -o:表示输出 output
# ./report:测试报告存放目录
# --clean:清空 report 目录中原有的数据

为了方便起见,我们一般会把生成报告的命令直接写在主函数里面:

1 # 根目录下新建一个 all.py
2 import pytest
3 import os
4 5 if __name__ == '__main__':
6     pytest.main()  # 执行项目中所有用例
7     os.system("allure generate ./tmp -o ./report --clean")  # 生成allure测试报告

最后报告会生成在 report 目录下:

Pytest之生成allure报告

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Pytest之生成allure报告 - Python技术站

(0)
上一篇 2023年3月31日 下午8:45
下一篇 2023年3月31日 下午8:45

相关文章

  • 01 Hello, Python

    一、前戏 1. 编程语言简介 在生活中,如果你想和外国人进行交流,你就得懂得他们国家的语言(汉语、英语、德语、法语等等),同样的,编程语言就是人与计算机之间沟通的一门语言,它能够将我们想要的操作翻译成计算机能够看得懂的指令,从而让计算机按照人类的想法去工作。 编程语言的种类很多,你可能听说过 C语言,Java语言,Go语言等等,尽管语法、实现机制都有差异,但…

    2023年3月31日
    00
  • Pytest初识

    一、单元测试框架简介 1. 什么是单元测试 单元测试是指在软件开发过程中,针对软件的最小单位(函数,方法)进行正确性的检查测试。 2. 常用单元测试框架 2.1 Java 类别 junit testng 2.2 Python 类别 unittest pytest 3. 单元测试框架主要作用 测试发现:从多个文件中找到测试用例 测试执行:按照一定的顺序和规则去…

    2023年3月31日
    00
  • Pytest 固件

    一、固件使用背景 在执行测试用例时,我们常常需要在测试用例执行的前后去完成一些额外的操作。例如针对于 Web 测试,在用例执行前需要打开浏览器,完成用户登录等一系列前置操作;在用例执行完成后,要清除浏览器缓存,关闭浏览器…… Pytest 框架提供的固件机制(又称为夹具)可以帮我们实现一系列的前后置操作。 我们先创建一套测试用例: 二、前后置函数 1…

    2023年3月31日
    00
合作推广
合作推广
分享本页
返回顶部