用例优先级
- @allure.severity(用例优先级)
- 表示测试用例的重要级别或错误的严重程度
- BLOCKER:中断缺陷,如客服端程序无响应,无法执行下一步骤
- CRITICAL:严重缺陷,如功能点缺失
- NORMAL:普通缺陷,如数据计算错误,默认
- MINOR:次要缺陷,如界面错误与ui需求不符
- TRIVIAL:轻微缺陷,如必须项无提示,或者提示不规范
- 写法
- allure.severity_level.CRITICAL
- 'critical'或'CRITICAL'
- 不能放到函数和方法中
- 对于一个子功能或测试需求的所有用例,共用一个severity
- 不能使用参数化的参数
链接
- @allure.issue('缺陷链接地址', name='报告中的链接文字')
- 不能放入函数和方法中
- 对于一个子功能或测试需求的所有用例,共用一个issue
- 不能使用参数化的参数
- @allure.testcase('用例链接地址', name='报告中的链接文字')
- 不能放入函数和方法中
- 对于一个子功能或测试需求的所有用例,共用一个testcase
- 链接地址可以与issue链接地址相同
- issue和testcase链接,在函数外边先写的链接后显示
- 不能使用参数化的参数
- @allure.link('缺陷或用例链接地址', link_type, name='报告中的链接文字')
- 不能放入函数和方法中
- 对于一个子功能或测试需求的所有用例,共用一个testcase
- issue和testcase链接,本质是使用link
- 可以指定链接类型
- types.LinkType.ISSUE、 types.LinkType.TEST_CASE
- from allure_commons import types
- 不能使用参数化的参数
编写测试代码文件ceshi_calc_as04.py,测试add、sub函数,指定用例优先级、用例链接、缺陷链接
add_cases=[['两个正数相加',1,2,3], ['正数加零',2,0,2], ['两个负数相加',-1,-2,-3], ['负数加零',-2,0,-2]]
@pytest.mark.parametrize('case_title, a, b, expect', add_cases)
@allure.suite('计算器加法测试')
@allure.epic('计算器算数运算-epic')
@allure.feature('计算器加法运算-feature')
@allure.story('加法测试-story')
@allure.step('加法测试-大step-{case_title}')
@allure.title('加法测试用例标题-{case_title}')
@allure.description('加法测试用例描述')
@allure.severity('critical')
@allure.issue('http://www.baidu.com', '缺陷地址')
@allure.testcase('http://www.baidu.com', '用例地址')
def test_add(case_title,a,b,expect):
with allure.step('调用add函数'):
actual=add(a, b)
with allure.step('断言'):
assert actual==expect, f'预期:{a}+({b})={expect},实际:{a}+({b})={actual}'
sub_cases=[['两个正数相减',1,2,-1], ['正数减零',2,0,2], ['两个负数相减',-1,-2,1], ['负数减零',-2,0,-2]]
测试报告中的用例优先级、链接
编写测试代码文件ceshi_calc_div04.py,测试div函数,指定用例优先级、用例链接、缺陷链接
div_cases=[['两个正数相除',1,2,0.5], ['正数除以零',2,0,'除数不能为零'], ['两个负数相除',-1,-2,0.5], ['零除以正数',0,2,0]]
@pytest.mark.parametrize('case_title, a, b, expect', div_cases)
@allure.suite('计算器除法测试')
@allure.epic('计算器算数运算-epic')
@allure.feature('计算器除法运算-feature')
@allure.story('除法测试-story')
@allure.step('加法测试-大step-{case_title}')
@allure.title('加法测试用例标题-{case_title}')
@allure.description('加法测试用例描述')
@allure.severity('minor')
@allure.issue('http://www.baidu.com', '缺陷地址')
@allure.testcase('http://www.baidu.com', '用例地址')
def test_div(case_title,a,b,expect):
with allure.step('调用add函数'):
actual=div(a, b)
with allure.step('断言'):
assert actual==expect, f'预期:{a}-({b})={expect},实际:{a}-({b})={actual}'
总结
- @allure.severity
- 指定用例优先级或缺陷严重程度
- @allure.issue
- 指定所有缺陷链接地址
- @allure.testcase
- 指定所有用例链接地址
作者:暄总-tester