allure-pytest生成测试报告
allure-pytest生成测试报告
if __name__ == "__main__": pytest.main(["--alluredir", "allure_results"]) # 生成测试数据,allure_results为生成的路径 os.system(r'allure generate --clean ./allure_results -o ./allure_report') # 根据测试数据生成测试报告
参数说明:
allure generate:是allure的命令行工具的命令,用于根据测试结果数据生成allure报告
--clean:是一个选项,在生成报告之前先清理输出目录,确保报告是最新的
/.allure_results:存储测试结果数据的目录,告诉allure工具从该目录中读取测试结果数据
-o ./allure_report:指定生成的allure测试报告输出的目录。allure_report为自定义目录

测试报告展示

allure-pytest的行为驱动标记
feature:feature注解标记测试用例所属的功能或模块。
story:story注解进一步细分feature,描述测试用例所属的具体场景。
代码演示:
import allure import pytest @allure.feature("用户管理") @allure.story("创建用户") def test_case01(): assert True @allure.feature("用户管理") @allure.story("删除用户") def test_case02(): assert False

allure-pytest的步骤管理
step:allure.step装饰器定义步骤
代码演示
@allure.step("步骤1") def step01(): print("步骤1") @allure.step("步骤2") def step02(): print("步骤2") @allure.step("步骤3") def step03(): print("步骤3") def test_case1(): step01() step02() step03() assert True

allure-pytest在报告中添加图片
@allure.step("上传图片") def step_upload_image(): image_path = "test_image.jpg" with open(image_path, "rb") as image_file: allure.attach(image_file.read(), name="uploaded image", attachment_type=allure.attachment_type.PNG)
allure-pytest异常时添加图片
@pytest.hookimpl(hookwrapper=True) def pytest_runtest_makereport(item, call): outcome = yield report = outcome.get_result() if report.when == "call": # 过滤前置,后置,只保留测试用例 if report.outcome != "passed": # 过滤掉pass的用例 image_path = "test_image.jpg" with open(image_path, "rb") as image_file: allure.attach(image_file.read(), name="uploaded Image", attachment_type=allure.attachment_type.JPG )

allure的一些方法的说明
allure.dynamic.title(“测试用例-登录成功”)

with allure.step('测试步骤'):


浙公网安备 33010602011771号