pytest测试框架-外部插件

插件分类

  • 外部插件:第三方库,需要通过pip install安装的;
  • 本地插件:自己写的,放在conftest.py文件中存放的;
  • 内置插件:代码内部_pytest目录加载的,如hook函数;

常用外部插件有:

官网url:https://pypi.org/project/pytest-order/

  • pytest-ordering 控制用例的执行顺序*
  • pytest-xdist 分布式并发执行测试用例 *
  • pytest-dependency 控制用例的依赖关系
  • pytest-rerunfailures 失败重跑
  • pytest-assume 多重校验
  • pytest-random-order 用例随机执行
  • pytest-html 测试报告

1.插件pytest-ordering

正常来说是顺序执行,如果想自定义用例的执行顺序,可以使用pytest-ordering插件。

先安装第三方库pip install pytest-ordering,然后用pytest-ordering插件加上顺序,执行则按顺序执行,order顺序从1开始执行。

import pytest

@pytest.mark.run(order=2)
#@pytest.mark.second
def test_case1():
   print("1")

@pytest.mark.run(order=1)
#@pytest.mark.first
def test_case2():
   print("2")

def test_case3():
   print("3")

2.插件pytest-xdist

pip install pytest-xdist安装第三方库

  • 场景1:人力换时间成本,一条用例执行1分钟,1000条,1000分钟,常用加人来缩短用例执行时间
  • 场景2:一个接口,同时高并发请求

创建一个test_xdist.py文件,分别用pytest-xdist 方式执行和不用pytest-xdist 方式执行

from time import sleep

def test_case1():
    sleep(1)
    print("1")
    
def test_case2():
    sleep(1)
    print("2")

def test_case3():
    sleep(1)
    print("3")

1.pytest test_xdist.py直接执行,花了 3 passed in 3.04s;
2.用插件执行pytest test_xdist.py -n auto,花了 3 passed in 2.80s,执行时间有缩短,当我们用例非常多的时候能看到明细变化,-n auto会自动调度空闲的cpu来完成任务;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容