requset : 对于一个TestCase类,执行完成所有用例后,自动生成allure报告。对于单个用例,个人觉得直接在输出台查看结果即可。
step1:新建两个文件夹,result用来存放临时的json文件,report存放html报告
step2:pytest.ini命令行参数可以采用如下配置:
[pytest]
addopts = -vs --alluredir ../result
step3:conftest中设置fixture,目的是当所有用例执行完成后生成allure报告,并清理result下面的json文件
@pytest.fixture(scope="class")
def allure_report(request):
def clear_result():
print("所有用例执行完毕")
os.system("allure generate {} -o {} --clean".format(result_path, report_path))
print("allure报告已生成")
# 当allure报告生成后,将result中的json文件清空
for i in os.listdir(result_path):
file_data = result_path + "\\" + i
if os.path.isfile(file_data):
os.remove(file_data)
print("result下的json文件已清空")
request.addfinalizer(clear_result)
Note:对于涉及到reruns的情况,可以注释掉清理json文件代码
step4:使用fixture:
@pytest.mark.usefixtures("allue_report")
class TestCase():
step5:查看report下的html文件