『德不孤』Pytest框架 — 4、Pytest跳过测试用例
自动化测试执行过程中,我们常常出现这种情况:因为功能阻塞,未实现或者环境有问题等等原因,一些用例执行不了, 如果我们注释掉或删除掉这些测试用例,后面可能还要进行恢复操作,这时我们就可以配置跳过这些用例。
Pytest测试框架中存在两个跳过测试的方法:skip和skipif 。
1、无条件跳过skip
skip方法为无条件跳过测试用例。
使用方法:@pytest.mark.skip标记在需要跳过的测试用例上。
2、有条件跳过skipif
skipif方法为有条件跳过测试用例,条件为真跳过。
使用方法:@pytest.mark.skipif(condition=跳过的条件, reason=跳过的原因),
标记在需要符合条件跳过的测试用例上。
- 参数
condition:跳过的条件,为True则跳过测试,为False则继续执行测试,默认为True。 - 参数
reason:标注跳过的原因,必填参数。
3、练习
"""
1.学习目标
掌握pytest中跳过测试方法
2.操作步骤
skipif(condition=判断条件,reason=跳过原因)
使用时放置在需要跳过的用例之前
@pytest.mark.skipif(条件,原因) # 当条件为真,跳过执行
3.需求
"""
# 导入pytest
import pytest
# 编写测试用例
def login_data():
return "jerry", "123456"
# 无条件跳过
@pytest.mark.skip
def test_register():
"""注册用例"""
print("注册步骤")
assert False
# 当条件为真,跳过测试
@pytest.mark.skipif(login_data()[0] == "jerry", reason="jerry用户不存在")
def test_login():
"""不记住密码登录"""
username = login_data()[0]
password = login_data()[1]
print(f"输入用户名{username}")
print(f"输入密码{password}")
print("点击登录按钮")
assert username == "jerry"
def test_shopping():
"""购物下单"""
print("购物流程")
assert True
if __name__ == '__main__':
pytest.main()
"""
执行结果:跳过一个用例 : 1通过,2跳过
test_pytest_01.py::test_register
test_pytest_01.py::test_login
test_pytest_01.py::test_shopping
======================== 1 passed, 2 skipped in 0.04s =========================
Process finished with exit code 0
SKIPPED (unconditional skip)
Skipped: unconditional skip
SKIPPED (jerry用户不存在)
Skipped: jerry用户不存在
购物流程
PASSED
"""
# 注:跳过的用例测试结果标识为s
『德不孤』Pytest框架 — 4、Pytest跳过测试用例的更多相关文章
- 『德不孤』Pytest框架 — 1、Pytest测试框架介绍
目录 1.什么是单元测试框架 2.单元测试框架主要做什么 3.单元测试框架和自动化测试框架有什么关系 4.Pytest测试框架说明 5.Pytest框架和Unittest框架区别 (1)Unittes ...
- 『德不孤』Pytest框架 — 2、Pytest的基本使用
目录 1.Pytest安装 2.Pytest常用插件 3.Pytest运行的第一个例子 4.Pytest框架的运行方式 5.在PyCharm中以Pytest的方式运行测试用例 1.Pytest安装 C ...
- 『德不孤』Pytest框架 — 3、Pytest的基础说明
目录 1.Pytest参数介绍 2.Pytest框架用例命名规则 3.Pytest Exit Code说明 4.pytest.ini全局配置文件 5.Pytest执行测试用例的顺序 1.Pytest参 ...
- 『德不孤』Pytest框架 — 10、setUp()和tearDown()函数
目录 1.setUp()和tearDown()函数介绍 2.setUp()和tearDown()函数作用 3.setUp()和tearDown()函数说明 4.示例 (1)方法级 (2)类级 (3)函 ...
- 『德不孤』Pytest框架 — 11、Pytest中Fixture装饰器(一)
目录 1.Fixture装饰器的用途 2.Fixture参数说明 3.Fixture装饰器简单应用 4.yield执行后置函数 1.Fixture装饰器的用途 做测试前后的初始化设置,如测试数据准备, ...
- 『德不孤』Pytest框架 — 14、Pytest中的conftest.py文件
目录 1.conftest.py文件介绍 2.conftest.py的注意事项 3.conftest.py的使用 4.不同位置conftest.py文件的优先级 5.conftest.py中Fixtu ...
- 『德不孤』Pytest框架 — 15、Pytest参数化
目录 1.Pytest参数化说明 2.Pytest参数化方式 3.parametrize装饰器参数说明 4.Pytest参数化(单个参数) 5.Pytest参数化(多个参数) 6.ids参数说明 1. ...
- 『德不孤』Pytest框架 — 6、Mark分组执行测试用例
目录 1.Pytest中的Mark介绍 2.Mark的使用 3.Mark的注册和使用 4.使用Mark完成失败重试 5.扩展 1.Pytest中的Mark介绍 Mark主要用于在测试用例/测试类中给用 ...
- 『德不孤』Pytest框架 — 12、Pytest中Fixture装饰器(二)
目录 5.addfinalizer关键字 6.带返回值的Fixture 7.Fixture实现参数化 (1)params参数的使用 (2)进阶使用 8.@pytest.mark.usefixtures ...
随机推荐
- JVM调优2-远程监控
监控远程JVM VisualJVM不仅是可以监控本地jvm进程,还可以监控远程的jvm进程,需要借助于JMX技术实现. 什么是JMX JMX(Java Management Extensions,即J ...
- BERT-Pytorch版本代码pipline梳理
最近在做BERT的fine-tune工作,记录一下阅读项目https://github.com/weizhepei/BERT-NER时梳理的训练pipline,该项目基于Google的Transfor ...
- Java打印空心菱形
使用Java打印空心菱形 public static void main(String[] args) { int n = 5; //这里输出菱形的上半部分 for (int i = 1; i < ...
- BarTender调用示例
安装BarTender 软件后,会注册一个COM 然后在项目中添加BarTender COM 引用 BarTender模板中的条码右键属性-数据源类型-嵌入的数据-名称(比如设置为 barcode p ...
- vue学习12-表单属性绑定
1 <!DOCTYPE html> 2 <html lang='en'> 3 <head> 4 <meta charset='UTF-8'> 5 < ...
- vue学习2-bind属性绑定
需要加上 v-html才能显示网页
- Git算不算程序员的必备技能?
作者:慕课网链接:https://www.zhihu.com/question/41667536/answer/486640083来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- docker 传入变量
1.Dockerfile中定义变量 ENV maxmemory="" 2.脚本接收变量 if [ "$maxmemory" ];then sed -i &quo ...
- k8s基本概念,资源对象
kubernetes里的master指的是集群控制节点 master负责是整个集群的管理和控制 kubernetes3大进程 API server 增删改查操作的关键入口 controller man ...
- C++函数调用过程解析
编译环境:Windows 10 + VS2015. 0.引言 函数调用的过程实际上也就是一个中断的过程,本文演示和深入分析参数入栈.函数跳转.保护现场.恢复现场等函数调用过程. 首先对三个常用的寄存器 ...