- 生成json格式运行结果
–clean-alluredir 这个选项用来清除之前生成的结果
-q:静默输出方式,,即简要输出信息;
-s:显示调试或打印的内容
–alluredir这个选项,用于指定存储测试结果的路径
运行命令 pytest --alluredir=result_path。
命令中的 --alluredir=result_path指明了生成的json结果文件存放的目录为当前目录下的result_path文件夹
基于pytest捕捉到的测试用例,每个用例的执行结果会生成一个json文件。
- 使用allure生成最终的测试报告
运行命令 allure generate result_path。
这个命令会将 result_path文件夹下的json文件渲染成网页结果,方便观看。生成的网页结果默认保存在当前文件夹下的report 文件夹内。
-o 参数是将报告内容保存到指定的文件夹下,此时 allure 不再保存到默认的目录下面
–clean选项目的是先清空测试报告目录,再生成新的测试报告。
allure使用了两种方式来渲染页面。分别是allure open 和 allure serve。前者用于在本地渲染和查看结果,后者用于在本地渲染后对外展示结果。这里我们使用allure serve。运行命令 allure serve result_path即可自动打开浏览器展示渲染好的结果。这里的result_path为allure generate生成的结果所在目录。此时存在一个问题:每次打开报告后都会起一个java进程并且不退出,运行多次后 占用了内存 内存高了然后虚拟机就会变卡;
解决方法:
1、os.system(“taskkill /F /im java.exe”)#window批量杀进程
os.popen("allure serve " + result_path) # 打开报告
2、
import webbrowser
import time
time.sleep(10) # 需要10s生成报告
print("fail了,再看报告,报告地址(选中html文件->右击->Open in Browser->选择浏览器)如下:")
print(report_path+"/index.html")
webbrowser.open(“http://localhost:63342/py/test_reports/report/index.html”)