windows安装插件
pip install allure-pytest -i https://pypi.douban.com/simple
mac
python3 -m pip install allure-pytest -i https://pypi.douban.com/simple
1.使用
- 命令行参数用来收集测试结果数据
在命令行先进入到pytest_study目录下,执行下述命令
–alluredir ./report/data 表示收集到的测试结果数据会存入report/data目录下
–clean-alluredir 表示每次执行都清除之前的数据
pytest -sv --alluredir ./report/data --clean-alluredir
- 使用allure报告生成的工具生成html报告
以服务的方式生成: allure serve report/data
以保存到本地的方式生成:allure generate result -o result/html --clean
表示将result目录下保存的测试数据,生成本地测试报告到result/html目录,并清除之前的html
2.allure测试报告层级划分
allure.epic(): 用于定义一个大的、跨多个特性的史诗级功能。这通常是最高级别的组织单位。
allure.feature(): 用于定义一个特性或一组相关的测试用例。这通常是一个中等大小的组织单位。
allure.story(): 用于定义一个用户故事,它描述了一个特性的具体用例或场景。这是一个更细粒度的组织单位。
allure.title(): 用于为测试用例提供一个简短的标题或描述。
示例:
import allure
@allure.epic("我的史诗级功能")
@allure.feature("我的主要特性")
@allure.story("我的用户故事")
@allure.title("测试用例的标题")
def test_example():
# 你的测试代码
assert True
allure.dynamic.title():动态地更新测试用例标题,一般用在参数化的测试用例中
示例:
allure.step():为测试用例添加详细的步骤描述。可以使用 allure.step 装饰器来装饰一个函数或方法,该函数或方法将作为测试用例中的一个步骤
需要注意的是,allure.step 通常用于装饰函数或方法,而不是直接在测试用例上使用
示例:
import allure
import pytest
@allure.step("步骤1: 用户登录")
def test_login():
# 登录逻辑
pass
@allure.step("步骤2: 用户数据检查")
def test_check_user_data():
# 检查用户数据的逻辑
pass
def test_user_flow():
test_login()
test_check_user_data()