美文网首页
pytest测试框架-外部插件

pytest测试框架-外部插件

作者: 吱吱菌啦啦 | 来源:发表于2022-04-25 15:15 被阅读0次

插件分类

  • 外部插件:第三方库,需要通过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来完成任务;

相关文章

网友评论

      本文标题:pytest测试框架-外部插件

      本文链接:https://www.haomeiwen.com/subject/pbqvertx.html