接口自动化框架之python pytest-mark(三)
一、mark标签介绍
在测试用例/测试类前面加上:@pytest.mark.标签名,
打标记范围:测试用例、测试类、模块文件
二、使用mark进行分类
在使用mark标签之前要创建pytest.ini配置文件,同样在运行的时候,‘-m’参数后边也要标识分类标签的名称
1.创建测试代码
import pytestdef test_01():print('oi')@pytest.mark.number_01
def test_02():print('iu')def test_03():print('iuu')
2.配置文件:(注意:一定是pytest.ini)
[pytest]markers=number_01: 分类1number_02: 分类2number_03: 分类3
3.执行:
if __name__ == '__main__':pytest.main(['-s','-v','-m','number_01','test_mark.py'])
完整代码:
import pytestdef test_01():print('oi')@pytest.mark.number_01
def test_02():print('iu')def test_03():print('iuu')if __name__ == '__main__':pytest.main(['-s','-v','-m','number_01','test_mark.py'])
三、mark参数化(基础版,后续会单独再去深入写)
@pytest.mark.parametrize(),括号内写入参数名称和参数值
举例:
import pytestname_value = ['bob','yumi','xiaoming']@pytest.mark.parametrize('name',name_value)
def test_01(name):print(name)if __name__ == '__main__':pytest.main(['-s','-v','test_mark.py'])
参数化:
use_info =[('tom','123'),('bob','2345'),('cindy','7823')]
@pytest.mark.parametrize('username,pwd',use_info)
def test_login(username,pwd):print(username +pwd)
四、设置执行测试用例顺序
1.安装pytest -ordering
pip install pytest-ordering
2.参数order后边数字越大,顺序越靠前(默认是按照书写的顺序来执行)
import pytest@pytest.mark.run(order=3)
def test_01():print('01')@pytest.mark.run(order=2)
def test_02():print('02')@pytest.mark.run(order=1)
def test_03():print('03')if __name__ == '__main__':pytest.main(['-s','-v','test_mark.py'])
五、使用mark来标记用例跳过
1.跳过
1.1无判断直接跳过:@pytest.mark.skip(reason ='跳过的原因')
1.2根据条件判断跳过:@pytest.mark.skipif(version<8,reason='版本过低')
import pytest@pytest.mark.skip(reason ='跳过的原因')
def test_01():print('01')version = 4.0
@pytest.mark.skipif(version<8,reason='版本过低')
def test_02():print('02')def test_03():print('03')if __name__ == '__main__':pytest.main(['-s','-v','test_mark.py'])
六、使用mark标记超时时间
6.1安装pytest-timeout插件,在我们做接口自动化的时候,很经常会有一个指标是找出一些耗时的接口,从而告知开发这些接口需要优化
pip install pytest-timeout
tips:可能是由于pytest版本过高,导致目前只能安装timeouts插件, pip install pytest-timeout 更常用,但pip install pytest-timeouts 更强大
6.2基于函数的超时设置
from time import sleep
import pytest@pytest.mark.timeout(3) #设置超时时间为5s
def test_01():sleep(5)print('01')def test_02():print('02')if __name__ == '__main__':pytest.main(['-s','-v','test_mark.py'])
接口自动化框架之python pytest-mark(三)相关推荐
- python+requests+pytest 接口自动化框架(一)
目录 一.Pytest详解以及常用的插件安装 二.Pytest默认的测试用例的规则 三.Pytest用例运行方式以及参数 1.命令行模式运行 命令:pytes 2.主函数模式运行 3.基于pytest ...
- python+requests+pytest 接口自动化框架(四)
目录 一.requests库简介 二.requests库常用方法 三.request()返回的response对象 四.实战案例 post(url, data=None, json=None, **k ...
- Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架
目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...
- pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程
pytest+yaml设计接口自动化框架过程记录 第三代框架使用教程,该框架比现在这个完善了很多 框架简介 框架运行演示和功能介绍视频 pytest+yaml框架环境配置和使用教程 0.去年也写了一个 ...
- 接口自动化测试框架:python+requests+pytest+allure实现
接口自动化测试框架 一.接口自动化测试框架需要解决的问题 二.接口自动化测试框架目录结构 三.日志监控文件的信息 四.搭建具有企业Logo的定制化报告. 今年是以往10年中最坏的一年,是未来10 ...
- python api开发用什么框架_python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)
python接口自动化一(设计一款自己的接口自动化框架) 一.起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest.当接口数量不怎么多时还好, ...
- pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联
前言 使用 yaml 文件写测试用例的时候,如何在 yaml 文件的测试用例里面实现参数关联? 这是很多做自动化测试的小伙伴经常思考的一个问题. 接着前面的pytest+yaml 文件实现接口自动化框 ...
- python接口自动化实战(框架)_python接口自动化框架实战
python接口测试的原理,就不解释了,百度一大堆. 先看目录,可能这个框架比较简单,但是麻雀虽小五脏俱全. 各个文件夹下的文件如下: 一.理清思路 我这个自动化框架要实现什么 1.从excel里面提 ...
最新文章
- python【力扣LeetCode算法题库】13- 罗马数字转整数
- 长方形纸做容积最大的长方体_A4纸的尺寸是怎么来的?
- Open vSwitch相关字段详解之L3:IPv4IPv6
- 【Groovy】闭包 Closure ( 闭包参数绑定 | curry 函数 | rcurry 函数 | ncurry 函数 | 代码示例 )
- GPS计算司机行车时长,深圳交警开启疲劳驾驶午间整治
- 剑指Offer_35_数组中的逆序对
- java并发编程之线程的基本介绍
- play for scala 通过网易smtp发送邮件
- [非原创] 获取CPUID;
- 容大热敏打印机打印纸张出半截,测试页不出嗡嗡响
- 对于i=1,i=i++,最后输出结果为1的理解
- linux源码解析-dup_task_struct函数
- 生成自己的自签名证书
- centos老是自动更换ip地址解决方案
- Baby-step giant-step算法
- EM78P468 义隆单片机 单键触控
- Android手机为何不再卡顿?性能优化才是安卓起飞关键
- 文件宝局域网传输/播放功能Windows10系统经验贴(感谢文件宝用户@卡卡罗特 和@24K 純情)...
- 金多多看盘新周期还在路上
- 重启电脑打印服务自动停止