Pytest 系列(25)- 标记用例级别 @allure.
如果你还想从头学起Pytest,可以看看这个系列的文章哦!
https://www.cnblogs.com/poloyy/category/1690628.html
前言
- 平时写测试用例也会划分优先级
- 同样,allure 也提供用例级别,在 allure 报告可以清晰看到不同级别用例的缺陷数量
用例等级介绍
allure 提供的枚举类

等级介绍
- blocker:阻塞缺陷(功能未实现,无法下一步)
- critical:严重缺陷(功能点缺失)
- normal: 一般缺陷(边界情况,格式错误)
- minor:次要缺陷(界面错误与ui需求不符)
- trivial: 轻微缺陷(必须项无提示,或者提示不规范)
实际栗子
测试代码
#!/usr/bin/env python
# -*- coding: utf-8 -*- """
__title__ =
__Time__ = 2020-04-19 14:50
__Author__ = 小菠萝测试笔记
__Blog__ = https://www.cnblogs.com/poloyy/
""" import allure def test_with_no_severity_label():
pass @allure.severity(allure.severity_level.TRIVIAL)
def test_with_trivial_severity():
pass @allure.severity(allure.severity_level.NORMAL)
def test_with_normal_severity():
pass @allure.severity(allure.severity_level.NORMAL)
class TestClassWithNormalSeverity(object): def test_inside_the_normal_severity_test_class(self):
""" 测试类优先级 normal;看看测试用例是否会自动继承优先级 """
print() @allure.severity(allure.severity_level.CRITICAL)
def test_inside_the_normal_severity_test_class_with_overriding_critical_severity(self):
"""
测试类优先级 normal
测试用例优先级 critical
"""
pass @allure.severity("normal")
def test_case_1():
""" normal 级别测试用例 """
print("test case 11111111") @allure.severity("critical")
def test_case_2():
""" critical 级别测试用例 """
print("test case 222222222") @allure.severity("blocker")
def test_case_3():
""" blocker 级别测试用例 """
print("test case 4444444") @allure.severity("minor")
def test_case_4():
""" minor 级别测试用例 """
print("test case 11111111") def test_case_5():
""" 没标记 severity 的用例默认为 normal"""
print("test case 5555555555")
allure 报告
测试用例详情

多了个 severity 字段
统计图表

可以看到不同 severity 测试用例运行的统计数据
必然测试失败的测试代码
将上面代码的三个测试用例故意让它测试失败
@allure.severity("normal")
def test_case_1():
""" normal 级别测试用例 """
assert (1 == 2)
@allure.severity("critical")
def test_case_2():
""" critical 级别测试用例 """
assert (1 == 2)
@allure.severity("blocker")
def test_case_3():
""" blocker 级别测试用例 """
assert (1 == 2)
再来看看 allure 报告的统计图表

- 这里用的是中文报告,其实可以看到 severity 官方是翻译为优先级,但是如果自己去翻译软件翻译的话是严重程度,我个人更偏向于理解为优先级
- 会同时显示同一个优先级的失败、通过用例数,以及哪条用例是失败、通过的
命令行参数 allure-severities
当然,也可以根据优先级选择需要运行的测试用例
具体栗子
仍然是上面的代码,打开 cmd
# 只运行 severity=blocker、critical 的测试用例
pytest test_severity.py -sq --alluredir=./allure --allure-severities=blocker,critical # 写法二
pytest test_severity.py -sq --alluredir=./allure --allure-severities blocker,critical
运行结果

severi=blocker、critical 的测试用例就三条,可以看看上面的代码
Pytest 系列(25)- 标记用例级别 @allure.的更多相关文章
- Pytest 单元测试框架标记用例
1.Pytest 中标记用例 接参数 -k 来挑选要执行的测试项 pytest -k test_szdcs -s test_szdcs 为函数名称 -k 后面接的名称可以为函数名称.类名称.文件名称. ...
- Pytest 系列(28)- 参数化 parametrize + @allure.title() 动态生成标题
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 参数化 @pytest.ma ...
- Pytest 系列(29)- 详解 allure.dynamic 动态生成功能
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 @allure.title ...
- Pytest系列(23)- allure打标记,@allure.feature()、@allure.story()、@allure.severity()的详细使用
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 前面几篇文章主要介绍了all ...
- pytest系列(二):筛选用例新姿势,mark 一下,你就知道。
pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极. 那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里. 如下图所示,我们编写的用例存放在不 ...
- Pytest系列(八) - 自定义标记mark的使用
一.前言: pytest 支持自定义标记,自定义标记方便用例模块划分,也可以理解方便管理,配合标记参数 -m使用 二.示例代码 # -*- coding: utf-8 -*- # @Time : 20 ...
- Pytest 系列(26)- 清空 allure 历史报告记录
如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 背景 pytest 运行 测试用例 ...
- pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告
pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例 ...
- pytest怎么标记用例?
pytest还有一个很强大的功能,那就是标记用例这个功能,这个功能可真的是很实用哒 首先,我们要实现标记功能,得分为3步走: 1.注册标记 2.标记用例 3.运行已经标记的用例. 那么第一步我们怎么实 ...
随机推荐
- kafka学习(五)Spring Boot 整合 Kafka
文章更新时间:2020/06/08 一.创建Spring boot 工程 创建过程不再描述,创建后的工程结构如下: POM文件中要加入几个依赖: <?xml version="1.0& ...
- Java Web学习(一)Web基础
文章更新时间:2020/07/24 一.基本概念 web资源 Internet上供外界访问的Web资源分为两种: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态w ...
- Oracle学习(十)Oracle定时任务
一.Oracle定时任务基础 简介 oracle job 是应用在数据库层面,用来定时执行存储过程或者 SQL 语句的定时器. 查询 --当前库中运行的 job SELECT t.* FROM dba ...
- chrome浏览器控制台 console不打印信息问题解决办法
谷歌浏览器控制台不能显示consle打印的东西,我记得之前可以正常打印,代码没问题,可能是你在浏览器中无意间点到了fifter,我们2可以使用最简单粗暴的方法---->恢复默认值. 按下F12, ...
- Windows10上安装MySQL(详细)
一.下载MySQL 1.在浏览器里打开mysql的官网http://www.mysql.com 2.进入页面顶部的"Downloads" 3.下滑页面,打开页面底部的"C ...
- 手把手教你ASP.NET Core:使用Entity Framework Core进行增删改查
新建表Todo,如图 添加模型类 在"解决方案资源管理器"中,右键单击项目. 选择"添加" > "新建文件夹". 将文件夹命名为 Mo ...
- Leetcode-递归&分治
50. Pow(x, n) https://leetcode-cn.com/problems/powx-n/ 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 说明: -100.0 < ...
- Python如何安装OpenCV库
转载:https://blog.csdn.net/weixin_35684521/article/details/81953047 OpenCV的概念可百度,在此不再赘述.https://baike. ...
- Centos下Oracle11gR2安装教程与自动化配置脚本
系统环境准备 开发组件与依赖库安装 安装centos时选择Server with GUI,右面的可以不勾选,后面统一来装 配置本地yum源 以上包如果缺乏可配置本地yum源进行安装 sudo moun ...
- STM32F103C8T6驱动WS2812b灯条
STM32F103C8T6驱动WS2812b灯条 几天小朋友到别人家玩,看上了人家的金鱼,人家就给了她一条小金鱼,有了小金鱼,怕它没氧气挂掉,买了一个氧气泵,没有东西喂它也不行,又买了一包鱼料,又因为 ...