前言
一直使用Python+Rquests+Unittest
编写自动化测试框架,并用HTMLTestRunner
生成测试报告。HTMLTestRunner
是一个比较久远的报告模板,原作者已经停止维护。刚好最近在重构接口自动化框架,将Unittest
替换成Pytest
,于是发现了Allure
。
Allure
是一款轻量级的开源自动化测试报告生成框架。它支持大部分测试框架,如Junit
、Pytest
、TestNG
等。这次将Pytest
与Allure
结合,生成优美、格式统一、功能强大的测试报告。
安装
Windows 10
环境下
-
前置条件:
安装JDK1.8+
,配置java环境,Allure依赖它。 -
安装scoop
官方推荐使用scoop安装allure,scoop是可用于windows的一款包管理工具。
进入Windows PowerShell,输入如下命令安装scoop:
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
输入
scoop help
查看,显示如下即安装成功。 -
安装allure
scoop install allure
安装完成后输入
allure help
,显示如下即安装成功。 -
安装allure-pytest插件,用来生成allure测试报告所需的源数据。
pip install allure-pytest
生成报告
pytest --alluredir=./allure-results
,./allure-results
目录生成测试结果的源数据,json
、txt
格式。
allure generate ./allure-results -o ./allure-report
,./allure-report
生成html报告的目录。
if __name__ =="__main__":
# 执行pytest单元测试,生成Allure报告需要的数据存在/allure-results目录,目录可以随意命名
pytest.main(["-q", CASE_DIR, '--alluredir', './allure-results'])
# 执行命令allure generate ./allure-results -o ./allure-report --clean,生成测试报告
# ./allure-results和上面保持一致,./allure-report可以随意命名
os.system('allure generate ./allure-results -o ./allure-report --clean')
# 自动打开测试报告
os.system('allure open allure-report')
打开allure-report
,选择index.html
,vscode
中右键Open with Live Server