Allure

集成Allure,你是如何集成Allure的

所以结论是

  1. 安装allure与pytest的插件

  2. 在代码中通过allure装饰器添加测试用例元数据

  3. 启动pytest执行测试用例,通过--alluredir生成allure报告所需Json数据。

  4. 将该json数据通过allure generate生成为html报告

  5. 通过allure open打开allure报告。

    可以在不生成html文件的同时,使用allure serve 打开html报告,但是该报告是临时的。

allure serve

allure serve是 Allure 测试报告框架提供的一个便捷命令,核心原理是读取测试结果数据,在内存中生成临时的 HTML 报告,启动本地 Web 服务器提供报告服务,并自动打开浏览器展示报告。

流程

  • 安装allure与pytest的插件。

  • 使用@allure装饰器添加元数据。

  • 启动pytest,生成 Allure 报告所需的 JSON 格式数据。

    • pytest.main(['case/test_process_inspection.py', '--alluredir', report_dir])
  • 将 JSON 数据转换为可视化的 HTML 报告

    • os.system(r"allure generate ./report/tmp -o ./report/html --clean")
  • 打开allure报告

    • os.system(r"allure open ./report/html -h 127.0.0.1 -p 9997")

    注:os.system(f"allure serve ./report/tmp -h 127.0.0.1 -p 9997"),可以在不生成html报告的情况下打开可视化allure报告。但是无法持久化html报告,关闭窗口后无法复原;也不便于分享给他人或存档。

allure包含哪些装饰器

  • @allure.title 为测试用例设置自定义标题

  • @allure.description 为测试用例添加详细的描述信息,帮助理解测试用例的目的和预期行为。

  • @allure.severity 设置测试用例的严重程度。Allure 定义了 5 个严重级别,分别是 CRITICAL(关键)、BLOCKER(阻塞)、NORMAL(正常)、MINOR(次要)、TRIVIAL(轻微)

  • @allure.tag 为测试用例添加标签,方便对测试用例进行分类和筛选。可以添加多个标签。

  • @allure.step 将代码块标记为测试步骤,在测试报告中显示详细的步骤信息。可以嵌套使用。

    import allure
    
    def test_addition():
        with allure.step("执行加法运算"):
            result = 1 + 2
        with allure.step("验证结果"):
            assert result == 3
    
  • @allure.epic、@allure.feature、@allure.story

    这三个装饰器用于对测试用例进行分层组织。@allure.epic 是最高层级,通常表示一个大型项目或系统;@allure.feature 表示具体的功能模块;@allure.story 表示功能模块下的用户故事。

  • @allure.link、@allure.issue、@allure.testcase

    用于将测试用例与外部资源关联起来。@allure.link 可添加任意外部链接;@allure.issue 用于关联缺陷管理系统中的问题;@allure.testcase 用于关联测试用例管理系统中的用例。

    import allure
    
    @allure.link("https://example.com/requirements/req123", name="需求文档")
    @allure.issue("https://jira.example.com/browse/BUG-123", name="缺陷详情")
    @allure.testcase("https://testrail.example.com/index.php?/cases/view/123", name="测试用例详情")
    def test_feature():
        pass
    

看一下效果

不写@allure.title 当提供了 ids 参数时,Allure 报告中的测试用例名称会是测试函数名加上 ids 列表中的对应元素。如果没有提供 ids 参数,Allure 报告中的测试用例名称会是测试函数名加上参数值的组合。

posted @ 2025-06-05 17:50  疯啦吧你  阅读(57)  评论(0)    收藏  举报