-
前言:pytest 结合 allure 描述用例的时候我们一般使用 @allure.title 和 @allure.description 描述测试用例的标题和详情。在用例里面也可以动态更新标题和详情,使用allure.dynamic方法实现。
-
allure动态属性
- allure.dynamic.feature
- allure.dynamic.link
- allure.dynamic.issue
- allure.dynamic.testcase
- allure.dynamic.story
- allure.dynamic.title
- allure.dynamic.description
-
使用场景
- 参数化时,使用allure.dynamic.title给不同的用例动态赋值
import pytest,requests,os
from api.login import login
from config.root_path import root_path
from common.read_yaml import readyml
import allure
path = os.path.join(root_path,'data','test_login.yml')
test_data = readyml(path)
@pytest.mark.login
@pytest.mark.parametrize("test_input,expected", test_data)
def test_login_case(base_url,test_input,expected):
'''登录用例'''
# print("测试输入:", test_input)
s = requests.session()
r = login(s,base_url,test_input["username"],test_input["password"])
allure.dynamic.title(expected["msg"])
assert r.json()["code"] == expected["code"]
assert r.json()["msg"] == expected["msg"]