pytest-allure美化——定制化输出测试报告
一、定制化后的效果展示
用两张图展示效果:
二、注意别踩坑
allure定制化想必大部分情况都会去选择pip install pytest-allure-adaptor这个插件,安装完成后,运行定制化代码出现以下报错:
安装了pytest-allure-adaptor插件的定制代码像这样的:
我们会使用allure.MASTER_HELPER下的方法去进行定制,通过查看该插件的官网http://pypi.org/project/pytest-allure-adaptor/,发现版本不匹配,因此抛出了异常
解决办法:
-
pytest-allure-adaptor版本过低不兼容当前版本的allure,选择不安装该插件 使用allure下的方法去进行定制
三、定制化内容
使用前,先引入allure模块
import allure
1.feature——测试用例特性(主要功能模块)
使用方法:@allure.feature()
2.story——feature功能模块下的分支功能
使用方法:@allure.story()
3.severity——测试用例的严重级别
Allure中对严重级别的定义:
-
blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作) critical级别:临界缺陷( 功能点缺失) normal级别:普通缺陷(数值计算错误) minor级别:次要缺陷(界面错误与UI需求不符) trivial级别:轻微缺陷(必输项无提示,或者提示不规范)
使用方法:
-
@allure.severity(allure.severity_level.CRITICAL) @allure.severity(critical)
4.step——测试用例的步骤
使用方法:
-
@allure.step() 只能以装饰器的形式放在类或者方法上面 with allure.step(): 可以放在测试用例方法里面,但测试步骤的代码需要被该语句包含
5.attach——用于向测试报告中输入一些附加的信息,通常是一些测试数据信息
使用方法: allure.attach(body, name, attachment_type, extension)
-
body - 要写入文件的原始内容 name - 包含文件名的字符串 attachment_type - 其中一个allure.attachment_type值 extension - 提供的将用作创建文件的扩展名
6.link/issue/testcase——链接
使用方法:
-
@allure.link() @allure.issue() @allure.testcase()
7.description——用例描述
使用方法:
-
@allure.description() 提供描述字符串的装饰器 @allure.description_html() 提供一些HTML在测试用例的描述部分
8.title——重命名测试用例
报告中的用例名称默认显示的是函数英文名,可以使用title重命名为中文
@allure.title("登录成功场景-{data}") @pytest.mark.parametrize("data", login_success_data, ids=ids_login_success_data) def test_login_success(self, data): """测试登录成功""" user = input_username(data["user"]) pwd = input_password(data["pwd"]) result = login(user, pwd) assert result == data["expected"]
上一篇:
5款热门的远程控制软件,让你事半功倍
下一篇:
软件测试的测试用例怎么写?(含思维导图)