pytest 是 python 的一款测试框架,拥有 unittest 的功能并比它更丰富。
二、allure是什么
有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果。
allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果。
allure可以与非常多的著名测试框架做集成。
像java语言,可以与junit4,junit5,TestNG测试框架集成。
python语言,可以与pytest,behave,nose测试框架集成。
allure会将测试用例的执行数据保存到xml文件当中,再利用allure的命令行将文件转换成html形式呈现出来。
三、安装 allure
allure 是跟 pytest 一起集成使用的,所以需要同时安装pytest以及allure-pytest插件:
pip install pytest
pip install allure-pytest
接下来安装allure,它依赖java环境,需要提前安装jdk并配置jdk环境变量,环境变量如果不会配置的,可以跳转到这个地址:https://www.cnblogs.com/TerLeeHost/p/7890428.html
安装步骤:
官网提供了每个平台的,命令行安装方式。
以下是手动安装方式,适用于各平台:
1、从 Maven Center 下载最新的安装包:
https://dl.bintray.com/qameta/maven/io/qameta/allure/allure-commandline/
- 选择最新版本安装包----->下载 zip 格式安装包
2、将包解压到任何一个目录。建议不要选C盘或者路径很深的。比如D:allure-command-2.12.1
3、跳转到解压后的bin目录下面,windows下执行allure.bat。其它平台执行allure.
4、配置allure的环境变量:
系统变量添加:ALLURE_HOME:D:allure-2.12.1
系统变量:Path 添加:%ALLURE_HOME%in
5、在命令行当中运行allure --version,或者allure
四、allure与pytest的集成
生成allure测试报告文件
在执行pytest命令时,添加allure命令参数:—alluredir=Outputs/allure (相对于pytest命令所在目录的测试报告目录)
if __name__ == '__main__': pytest.main(["-s","-v","--html=Outputs/reports/pytest.html", "--alluredir=Outputs/allure"]) # allure文件生成的目录
或
if __name__ == '__main__': # 生成allure报告文件 pytest.main(['-s', '-v', '--alluredir=OutPuts/allure'])
所有用例执行完,在OutPuts/allure目录下会生成一些报告文件
三、生成html页面的allure测试报告
1、生成 allure 报告
在cmd命令行或控制台当中,执行:allure serve 测试结果文件目录,就会生成漂亮的html报告。
比如:allure serve Outputs/allure
==================
类别可能会出现
Product defects:产品问题,如果断言失败,那就是期望结果与实际结果不相符,那就是bug
Test defects:测试问题,并不是断言这一步失败的,而是用例脚本自身的问题
分享大佬:pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告:https://www.cnblogs.com/Simple-Small/p/11512337.html
Allure-pytest功能特性介绍:https://www.cnblogs.com/linuxchao/p/linuxchao-pytest-allure.html