pytest结合allure-pytest插件 生成allure测试报告
注意:allure-pytest 从1.7之后已弃用,从2.0版本开始迁移至 allure-python 项目(即使用allure2),另外要运行allure命令行也需要Java的支持。
1、安装allure-pytest
pip install -U allure-pytest 如果安装失败可以直接指定源安装如下:
pip install allure-pytest -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
这将安装allure-pytest和allure-python-commons程序包,以生成与allure2兼容的报告数据。
2、allure工具:
https://github.com/allure-framework/allure2/releases 或者
https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/
解压软件包(建议直接放到Python文件夹下),然后添加bin目录到环境变量中,最后使用 allure --version 验证是否安装成功。
3、基本使用
要使allure侦听器能够在测试执行过程中收集结果,只需添加 --alluredir 选项并提供路径即可存储结果。
pytest --alluredir=./myAllureReport ( 指定 allure 报告数据生成路径 --在测试执行期间收集结果)
如果你运行后进行了用例更改,那么下次运行可能还是会查看到之前记录,可添加 --clean-alluredir 选项清除之前记录。
pytest --alluredir= ./myAllureReport --clean-alluredir
执行后
allure serve ./myAllureReport (启动allure服务,生成在线报告)
还可以指定ip启动本地服务生成报告
pytest --alluredir=./myAllureReport
allure generate ./myAllureReport/ -o ./report --clean ( 使用 myAllureReport 文件下面的数据生成报告放在 report 下 )
allure open -h 192.168.1.114 -p 3333 ./report (启动本地服务生成链接查看报告)
4、定制化报告(Allure报告优化)
场景:希望在报告中看到测试功能,子功能或场景,测试步骤,包括测试附加信息
import allure
@allure.epic("项目1")
功能上加 @allure.feature('功能名称')
@allure.title("成功的用例")
子功能上加@allure.story('子功能名称')
步骤上加@allure.step('步骤细节')
@allure.attach('具体文本信息),需要附加的信息,可以是数据,文本,图片,视频,网页
if __name__ == "__main__":
#pytest.main(["-s ", "test_dataSet.py"])
pytest.main(["-vs"]) # 调用pytest的main函数执行测试
os.system('pytest --alluredir=./myAllureReport --clean-alluredir')
os.system('allure generate ./myAllureReport -o ./report --clean')
os.system(r'@echo y | del ./myAllureReport/*')
os.system(r'allure open -h 192.168.1.114 -p 3333 ./report' )