pytest实现多进程与多线程运行超好用的插件


Posted in Python onJuly 15, 2022

前言

如果想分布式执行用例,用例设计必须遵循以下原则:

1、用例之间都是独立的,
2、用例a不要去依赖用例b
3、用例执行没先后顺序,
4、随机都能执行每个用例都能独立运行成功每个用例都能重复运行,不影响其它用例
这跟就我们平常多个人工测试一样,用例都是独立的,可以随机分配不同人员执行,互相不依赖,用例之间也不存在先后顺序

一、pytest-parallel

安装:pip install pytest-parallel

常用参数配置:

  • --workers=n:多进程运行需要加此参数, n是进程数。默认为1
  • --tests-per-worker=n:多线程需要添加此参数,n是线程数

如果两个参数都配置了,就是进程并行,每个进程最多n个线程,总线程数:进程数*线程数

注意:在windows上进程数永远为1。

需要使用 if name == “main”:,在dos中运行会报错

#!/usr/bin/env python
# _*_ coding: utf-8 _*_
# @project : API_Service
# @File    : test_1.py
# @Date    : 2021/6/15 3:07 下午
# @Author  : 李文良


# demo:
import pytest

def test_01():
    print('测试用例1操作')

def test_02():
    print('测试用例2操作')

def test_03():
    print('测试用例3操作')

def test_04():
    print('测试用例4操作')


def test_05():
    print('测试用例5操作')


def test_06():
    print('测试用例6操作')


def test_07():
    print('测试用例7操作')


def test_08():
    print('测试用例8操作')

if __name__ == "__main__":
    pytest.main(["-s", "test_1.py",'--workers=2', '--tests-per-worker=4'])

pytest实现多进程与多线程运行超好用的插件

二、pytest-xdist

安装:pip install pytest-xdist

不支持多线程

常用参数配置:

  • -n=*:*代表进程数

多cpu并行执行用例,直接加个-n参数即可,后面num参数就是并行数量,比如num设置为3

  • -n auto 自动侦测系统里的CPU数目
  • -n num 指定运行测试的处理器进程数

三、对比说明

pytest-parallel比pytst-xdist相对好用,功能支持多。

pytst-xdist不支持多线程,而pytest-parallel支持python3.6及以上版本,如果想做多进程并发在linux或者mac上做,在Windows上不起作用(Workers=1),如果做多线程linux/mac/windows平台都支持,进程数为workers的值。

pytest-parallel常用配置命令如下

  • –workers (optional) *:多进程运行需要加此参数, *是进程数。默认为1。
  • –tests-per-worker (optional) *:多线程运行, *是每个worker运行的最大并发线程数。默认为1

pytest test.py --workers 3:3个进程运行
pytest test.py --tests-per-worker 4:4个线程运行
pytest test.py --workers 2 --tests-per-worker 4:2个进程并行,且每个进程最多4个线程运行,即总共最多8个线程运行。

四、特别注意

1、pytest-parallel的workers参数在windows系统下永远是1,在linux和mac下可以取不同值。
2、pytest-parallel加了多线程处理后,最后执行时间是运行时间最长的线程的时间。
3、在windows下想用多进程的选pytst-xdist; 想用多线程的选pytest-parallel

到此这篇关于pytest实现多进程与多线程运行超好用的插件的文章就介绍到这了,更多相关pytest 多进程与多线程运行插件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
利用Python抓取行政区划码的方法
Nov 28 Python
python发送邮件实例分享
Jul 28 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
Apr 17 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
python 实现图片上传接口开发 并生成可以访问的图片url
Dec 18 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
Jun 02 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
Jun 06 Python
PyTorch中clone()、detach()及相关扩展详解
Dec 09 Python
Python 中数组和数字相乘时的注意事项说明
May 10 Python
Python 机器学习工具包SKlearn的安装与使用
May 14 Python
python如何利用cv2模块读取显示保存图片
Jun 04 Python
python如何将mat文件转为png
Jul 15 #Python
python读取mat文件生成h5文件的实现
Jul 15 #Python
全网非常详细的pytest配置文件
Jul 15 #Python
Python如何加载模型并查看网络
Jul 15 #Python
Python绘制散点图之可视化神器pyecharts
Jul 07 #Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 #Python
Python通用验证码识别OCR库ddddocr的安装使用教程
Jul 07 #Python
You might like
咖啡冲泡指南 咖啡有哪些制作方式 单品咖啡 意式咖啡
2021/03/06 冲泡冲煮
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
Linux下从零开始安装配置Nginx服务器+PHP开发环境
2015/12/21 PHP
PHP设计模式之PHP迭代器模式讲解
2019/03/22 PHP
jQuery中文入门指南,翻译加实例,jQuery的起点教程
2007/01/13 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
js去空格技巧分别去字符串前后、左右空格
2013/10/21 Javascript
IE 下Enter提交表单存在重复提交问题的解决方法
2014/05/04 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
Angularjs实现mvvm式的选项卡示例代码
2016/09/08 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
浅谈在Vue-cli里基于axios封装复用请求
2017/11/06 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
Python实现的NN神经网络算法完整示例
2018/06/19 Python
Python读取实时数据流示例
2019/12/02 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
Django接收照片储存文件的实例代码
2020/03/07 Python
解决python 执行sql语句时所传参数含有单引号的问题
2020/06/06 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
String是最基本的数据类型吗?
2013/06/13 面试题
Linux的主要特性
2014/10/06 面试题
提高EJB性能都有哪些技巧
2012/03/25 面试题
夜大毕业生自我评价分享
2013/11/10 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
学习三严三实对照检查材料思想汇报
2014/09/22 职场文书
五一劳动节活动总结
2015/02/09 职场文书
2015个人简历自我评价语
2015/03/11 职场文书