pytest+allure下生成报告后,报告无数据的解决方法

当使用pytest和allure生成测试报告时,遇到报告数据显示为0和NaN%的问题,原因是报告目录配置不一致。解决方案是在pytest.main中添加`--alluredir`参数,确保报告生成路径与alluregenerate命令中的路径匹配。修正后的代码能够正确生成并显示测试报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象:pytest+allure生成测试报告打开allure报告数据显示为0和NaN%

原代码:

if __name__ == '__main__':
    pytest.main(["-vs", "./interface_testcase"])
    time.sleep(2)
    os.system("allure generate ./temp/html -o ./report  --clean")

原因:

pytest.main中指定的allure报告目录与通过allure generate将临时文件生成报告的路径不一致

解决办法:加上--alluredir 参数

if __name__ == '__main__':
    pytest.main(["-vs", "./interface_testcase","--alluredir=temp/html"])
    time.sleep(2)
    os.system("allure generate ./temp/html -o ./report  --clean")

再次运行:

### 集成 PytestAllure 并在 Jenkins 中生成测试报告 #### 安装必要的工具和库 为了使 PytestAllure 成功集成并工作于 Jenkins 上,需安装特定版本的 Python、JDK 及相关依赖项。确保环境中已正确设置这些组件[^1]。 对于 Python 环境而言,除了基础环境外还需要通过 pip 工具来安装 `pytest` 和 `pytest-allure-adaptor` 或者更新版的适配器包: ```bash pip install pytest allure-pytest ``` #### Jenkins 插件配置 在 Jenkins 的全局工具配置里添加 Allure 命令行工具,并勾选安装默认插件选项;接着,在项目配置页面中启用 "Post-build Actions" 下拉菜单中的 “Generate Allure Report”,指定结果目录通常为 `${WORKSPACE}/allure-results/`[^3]。 #### 编写带有 Allure 注解的 Pytest 测试脚本 编写测试案例时应加入适当的关键字以便更好地描述每一步骤以及捕获异常情况下的截图等功能特性。例如: ```python import allure import pytest @allure.feature('User Management') class TestUserManagement: @allure.story('Create new user account') def test_create_user(self, setup_env): with allure.step("Step 1: Navigate to registration page"): pass with allure.step("Step 2: Fill out the form and submit it"): try: # Your code here... assert True except AssertionError as e: allure.attach(setup_env.driver.get_screenshot_as_png(), name="screenshot", attachment_type=allure.attachment_type.PNG) raise e ``` 此段代码展示了如何利用装饰器标记功能模块(`feature`)及其子任务(`story`),并通过上下文管理器记录具体执行步骤(`step`)。当断言失败时会自动附加当前浏览器窗口的屏幕截图至最终生成的 HTML 报告内[^2]。 #### 构建过程中的命令调整 最后修改 Jenkins Job 的构建指令部分,使其能够调用 Pytest 执行单元测试并将产生的数据文件保存到之前定义的结果路径下: ```bash pytest --alluredir=${WORKSPACE}/allure-results tests/ ``` 完成以上配置后每次触发该作业都会自动生成一份详尽美观的可视化报表供团队成员查看分析。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值