# -*- coding: utf-8 -*-
# @Time : 2023/6/27 10:05
# @Author : yanfa
# @user : yanfa
# @File : test_pytest_for_ordering.py
# @remark: 自定义用例执行顺序
""""""
import pytest
"""一、pytest常用插件
1、pip install pytest-ordering 控制用例执行顺序
2、pip install pytest-xdist 分布式并发执行测试用例
3、pip install pytest-dependency 控制用例的依赖关系
4、pip install pytest-rerunfailures 失败重试
5、pip install pytest-assume 多重校验
6、pip install pytest-random-order 用例随机执行
7、pip install pytest-html 测试报告
"""
"""二、pytest执行顺序
场景:
对于集成测试,经常会有上下文依赖关系的测试用例。
比如10个步骤,拆成10条case,这时候能知道到底执行到哪步报错。,
而用例默认执行顺序是自上而下,需要控制执行顺序
解决:
可以通过setup/teardown/fixture来解决,也可以使用对应插件。
安装:pip install pytest-ordering (仓库地址https://github.com/ftobia/pytest-ordering)
用法:
@pytest.mark.first 对应0,不推荐这种写法
@pytest.mark.last 对应-1,不推荐这种写法
@pytest.mark.run(order=0) 对应第一个,推荐这种写法
@pytest.mark.run(order=2) 对应第三个,推荐这种写法
注意:
1、多个插件装饰器(>2)的时候,有可能会发生冲突
2、order支持英文/正整数/负整数,执行优先级:0>较小的正数>较大的正数>无标记>较小的负数>较大的负数
orders_map = {
'first': 0,
'second': 1,
'third': 2,
'fourth': 3,
'fifth': 4,
'sixth': 5,
'seventh': 6,
'eighth': 7,
'last': -1,
'second_to_last': -2,
'third_to_last': -3,
'fourth_to_last': -4,
'fifth_to_last': -5,
'sixth_to_last': -6,
'seventh_to_last': -7,
'eighth_to_last': -8,
}
"""
#例子 执行顺序0->2->4->无标记->-4->-2 (0>较小的正数>较大的正数>无标记>较小的负数>较大的负数)
@pytest.mark.run(order=4)
def test_demo1():
print("4")
@pytest.mark.run(order=2)
def test_demo2():
print("2")
@pytest.mark.run(order=0)
def test_demo3():
print("0")
def test_demo4():
print("无标记")
@pytest.mark.run(order=-4)
def test_demo5():
print("-4")
@pytest.mark.run(order=-2)
def test_demo6():
print("-2")
python接口自动化-pytest-控制用例执行顺序pytest-ordering
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 一、默认执行顺序 pytest默认按字母顺序去执行的(小写英文—>大写英文—>0-9数字)用例之间的顺序是文件之间...
- Pytest测试框架:默认从上到下顺序执行测试用例,即按文件中创建顺序执行。如果想要按自己设定的执行顺序执行,可以...
- 简介 大多数的初学者在使用 unittest 框架时候,不清楚用例的执行顺序到底是怎样的。对测试类里面的类和方法分...
- 关键词:接口自动化 python3 flask mysql pycharts 源码地址:https://g...