allure的特性
- allure支持pytest自带的特性
- fixture、parametrize、xfail、skip
- allure提供了很多特性(装饰器)
- allure可以将这些特性信息写入到测试报告中
- @allure.suite、@allure.epic、@allure.feature、@allure.story
- @allure.severity
- @allure.link、@allure.testcase、@allure.issue
- @allure.title、@allure.description、@allure.step
测试集特性
- @allure.suite('某用例所属的测试集名称')
- @不能省略
- 指定一个pytest测试用例所属的测试集名称,一般是包名(默认)、模块名(默认)或自定义名称(代替模块名)
- 对于suite修饰的pytest测试用例,suite只执行一次,不同pytest测试用例如果写相同的suite特性,则在报告中合并显示
- 只能放在函数、方法、类之前,只对修饰的函数、方法、类起作用
- 不能使用参数化的参数
模块特性
- @allure.epic('某用例所属模块')
- 一般代表用例中的模块或一级功能
- 对于epic修饰的pytest测试用例,epic只执行一次,不同pytest测试用例如果写相同的epic特性,则在报告中合并显示
- 只能放在函数、方法、类之前,只对修饰的函数、方法、类起作用
- 不能使用参数化的参数
功能特性
- @allure.feature('某用例所属功能')
- 代表用例中的二级功能或子功能
- 对于feature修饰的pytest测试用例,feature只执行一次,不同pytest测试用例如果写相同的feature特性,则在报告中合并显示
- 只能放在函数、方法、类之前,只对修饰的函数、方法、类起作用
- 不能使用参数化的参数
- @allure.story('某用例所属的功能点或测试点')
- 代表用例中的功能点或测试点
- 对于story修饰的pytest测试用例,story只执行一次,不同pytest测试用例如果写相同的story特性,则在报告中合并显示
- 只能放在函数、方法、类之前,只对修饰的函数、方法、类起作用
- 不能使用参数化的参数
模块特性和功能特性的显示优先级
- 如果写了epic,不论是否写了feature、story,则测试报告Overview部分的FEATURES BY STORIES显示epic
- 如果没有写epic,但写了feature,不论是否写了story,则测试报告Overview部分的FEATURES BY STORIES显示feature
- 如果没有写epic和feature,但写了story,则测试报告Overview部分的FEATURES BY STORIES显示story
编写测试代码文件ceshi_calc_as02.py,测试add、sub函数,添加测试集特性、模块特性、功能特性
测试报告中的测试集、模块和功能
编写测试代码文件ceshi_calc_div02.py,测试div函数,添加测试集、模块和功能特性
测试报告中的测试集、模块和功能
小结
- epic:一级模块、一级功能
- feature:二级模块、二级功能
- story:三级功能、功能点
- suites:测试集
- 默认显示为包名或模块名
- 自定义测试集名会覆盖包名或模块名
作者:暄总-tester