一、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(三)相关推荐

  1. python+requests+pytest 接口自动化框架(一)

    目录 一.Pytest详解以及常用的插件安装 二.Pytest默认的测试用例的规则 三.Pytest用例运行方式以及参数 1.命令行模式运行 命令:pytes 2.主函数模式运行 3.基于pytest ...

  2. python+requests+pytest 接口自动化框架(四)

    目录 一.requests库简介 二.requests库常用方法 三.request()返回的response对象 四.实战案例 post(url, data=None, json=None, **k ...

  3. Python语言+pytest框架+allure报告+log日志+yaml文件+mysql断言实现接口自动化框架

    目录 前言 实现功能 目录结构 依赖库 安装教程 接口文档 如何创建用例 创建用例步骤 用例中相关字段的介绍 如何发送get请求 如何发送post请求 如何测试上传文件接口 上传文件接口,即需要上传文 ...

  4. pytest+yaml设计接口自动化框架过程记录(一步一步记录如何设计,完结撒花),源码提供,视频教程

    pytest+yaml设计接口自动化框架过程记录 第三代框架使用教程,该框架比现在这个完善了很多 框架简介 框架运行演示和功能介绍视频 pytest+yaml框架环境配置和使用教程 0.去年也写了一个 ...

  5. 接口自动化测试框架:python+requests+pytest+allure实现

    接口自动化测试框架 一.接口自动化测试框架需要解决的问题 二.接口自动化测试框架目录结构 三.日志监控文件的信息 四.搭建具有企业Logo的定制化报告.    今年是以往10年中最坏的一年,是未来10 ...

  6. python api开发用什么框架_python+requests接口自动化框架

    为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...

  7. 用python画风车_python接口自动化()一)(实现一款简单的接口自动化框架)

    python接口自动化一(设计一款自己的接口自动化框架) 一.起因: 前面学习过了python接口requests来进行接口测试,但是在框架选择上还是选择的unittest.当接口数量不怎么多时还好, ...

  8. pytest文档73-pytest+yaml实现接口自动化框架之用例参数关联

    前言 使用 yaml 文件写测试用例的时候,如何在 yaml 文件的测试用例里面实现参数关联? 这是很多做自动化测试的小伙伴经常思考的一个问题. 接着前面的pytest+yaml 文件实现接口自动化框 ...

  9. python接口自动化实战(框架)_python接口自动化框架实战

    python接口测试的原理,就不解释了,百度一大堆. 先看目录,可能这个框架比较简单,但是麻雀虽小五脏俱全. 各个文件夹下的文件如下: 一.理清思路 我这个自动化框架要实现什么 1.从excel里面提 ...

最新文章

  1. python【力扣LeetCode算法题库】13- 罗马数字转整数
  2. 长方形纸做容积最大的长方体_A4纸的尺寸是怎么来的?
  3. Open vSwitch相关字段详解之L3:IPv4IPv6
  4. 【Groovy】闭包 Closure ( 闭包参数绑定 | curry 函数 | rcurry 函数 | ncurry 函数 | 代码示例 )
  5. GPS计算司机行车时长,深圳交警开启疲劳驾驶午间整治
  6. 剑指Offer_35_数组中的逆序对
  7. java并发编程之线程的基本介绍
  8. play for scala 通过网易smtp发送邮件
  9. [非原创] 获取CPUID;
  10. 容大热敏打印机打印纸张出半截,测试页不出嗡嗡响
  11. 对于i=1,i=i++,最后输出结果为1的理解
  12. linux源码解析-dup_task_struct函数
  13. 生成自己的自签名证书
  14. centos老是自动更换ip地址解决方案
  15. Baby-step giant-step算法
  16. EM78P468 义隆单片机 单键触控
  17. Android手机为何不再卡顿?性能优化才是安卓起飞关键
  18. 文件宝局域网传输/播放功能Windows10系统经验贴(感谢文件宝用户@卡卡罗特 和@24K 純情)...
  19. 金多多看盘新周期还在路上
  20. 重启电脑打印服务自动停止

热门文章

  1. Hibernate 和 JPA
  2. html转义字符输出,dart – 如何为HTML转义字符串?
  3. shiro-No realms have been configured
  4. 数据库、sql调优思路
  5. 西安计算机模块培训,西安职称计算机模块培训
  6. 练习 苹果-桔子线程【操作系统】
  7. Fiddler 高级用法:Fiddler Script 与 HTTP 断点调试
  8. 蓝牙防丢器实现安卓的BLE接口编程
  9. oracle scn和headroom
  10. Cortex_M3通用寄存器组特殊功能寄存器功能简介及汇编用法