Python-pytest使用allure工具

介绍:

Allure 是一种用于生成、展示和分析测试报告的开源测试报告框架。它支持多种测试框架,包括 Java、C#, Python 等,可以与各种测试工具集成。Allure 的目标是提供美观、易于理解的测试报告,同时提供详细的测试结果和历史数据。

1. 安装与配置

安装Python依赖

pip install pytest allure-pytest

2. 流程

要使 Allure 监听器能够在测试执行期间收集结果,只需添加 --alluredir 选项并提供存储结果文件夹的路径。例如:

pytest --alluredir=/tmp/my_allure_results

生成测试报告:

allure generate ./allure-results --clean

查看报告

allure open

3. 用法

  1. allure.step(title=‘这是第一个步骤’)

  2. allure.severity(allure.severity_level.CRITICAL) 添加严重级别
    Severity:严重级别(BLOCKER,CRITICAL,NORMAL,MINOR,TRIVIAL)

  3. allure.feature 和 allure.story 装饰器用于标记和组织测试的业务功能和用例故事。feature与story类似于父子关系,story属于feature之下的结构

@allure.feature('功能名称')
@allure.story('子功能名称')
  1. allure.step 是 Allure 测试框架中用于标记测试步骤的装饰器。可以将测试代码中的特定操作或步骤标记为一个单独的测试步骤,以便更好地组织和展示测试报告。
@allure.step('步骤细节')  //添加测试步骤
  1. allure.attach 是 Allure 测试框架中用于在测试报告中附加附件(Attachments)的方法。通过 allure.attach,你可以将额外的信息、截图、日志文件等附加到测试报告中,以便更详细地记录测试执行过程。
import allure

def test_example():
    # 在测试中添加附件
    allure.attach("This is an attachment", name="Attachment Description", attachment_type=allure.attachment_type.TEXT)

    # 也可以添加其他类型的附件,比如图片
    with open("screenshot.png", "rb") as file:
        allure.attach(file.read(), name="Screenshot", attachment_type=allure.attachment_type.PNG)
    
    # 其他测试逻辑
    assert 1 == 1
  • content: 附件的内容,可以是文本内容或二进制内容(如文件内容)。
  • name: 附件的名称,显示在报告中,用于描述附件的用途。
  • attachment_type: 附件的类型,可以是 allure.attachment_type.TEXT(文本)或 allure.attachment_type.PNG(PNG 图片)等。可以根据实际需要选择不同的附件类型。
  1. allure.step()与with allure.step()的区别
  • allure.step() 只能以装饰器的形式放在类或者方法上面,通常用于整个测试方法或函数,表示整个方法是一个步骤。

import allure

@allure.step("Step 1: Perform some action")
def perform_action():
    # 步骤实现

@allure.step("Step 2: Verify the result")
def verify_result():
    # 步骤实现

def test_example():
    perform_action()
    verify_result()
  • with allure.step 是一个上下文管理器,通常用于在测试方法中标记一部分代码块,表示该代码块是一个 Allure 测试步骤。它的作用是为代码块添加一个步骤,可以帮助更详细地描述代码块的执行过程。
import allure

def test_example():
    with allure.step("Step 1: Perform some action"):
        # 步骤实现

    with allure.step("Step 2: Verify the result"):
        # 步骤实现

你可能感兴趣的:(python,pytest,开发语言)