pytest-stress:好用的pytest压力测试插件

简介:pytest-stress允许在用户定义的时间内循环测试。特别适用于一些已知测试时间,但不知道运行次数的场景。

历史攻略:

压力测试工具:Stress详解

Python:超过设定的时长则退出

安装:

复制代码
pip3 install pytest-stress

基础案例:

复制代码
Loop tests for 30 seconds:
$ pytest --seconds 30


Loop tests for 45 minutes:
$ pytest --minutes 45


Loop tests for 8 hours:
$ pytest --hours 8


Loop tests for 1 hour 8 minutes and 9 seconds:
$ pytest --hours 1 --minutes 8 --seconds 9


每次运行后增加运行等待:例如5秒,--delay 5 
$ pytest --delay 5 --hours 4 --minutes 30

案例源码:

复制代码
# -*- coding: utf-8 -*-
# time: 2024/3/31 10:34
# file: test_demo.py
# 公众号: 玩转测试开发
import time
import sys
from logger import log


class TestDemo:
    def test_01(self):
        time.sleep(1)
        log.info('test_case 01 run')
        log.info(sys.platform)
        assert(1 == 1)

    def test_02(self):
        time.sleep(1)
        log.info('test_case 02 run')
        log.info(sys.platform)
        assert(2 == 2)

    def test_03(self):
        time.sleep(1)
        log.info('test_case 03 run')
        log.info(sys.version)
        assert (3 == 3)

运行结果:pytest --seconds 10

复制代码
(py397) D:\year2024>pytest --seconds 10
=================================================================================== test session starts ====================================================================================
platform win32 -- Python 3.9.7, pytest-8.1.1, pluggy-1.4.0
rootdir: D:\year2024
configfile: pytest.ini
plugins: allure-pytest-2.13.3, anyio-3.6.2, dash-2.9.3, hypothesis-6.99.6, assume-2.4.3, cov-5.0.0, forked-1.6.0, html-4.1.1, metadata-3.1.1, repeat-0.9.3, rerunfailures-14.0, ssh-0.1, stress-1.0.1, xdist-3.5.0
collected 3 items


========================================================================================== Loop # 1 =========================================================================================

test_case\test_demo.py ...                                                                                                                                                            [100%]

========================================================================================== Loop # 2 =========================================================================================
. [100%]. [100%]. [100%]

========================================================================================== Loop # 3 =========================================================================================
. [100%]. [100%]. [100%]

========================================================================================== Loop # 4 =========================================================================================
. [100%]. [100%]. [100%]

=================================================================================== 12 passed in 12.68s ====================================================================================

(py397) D:\year2024>

delay的场景:pytest --seconds 10 --delay 3

复制代码
(py397) D:\year2024>pytest --seconds 10 --delay 3
=================================================================================== test session starts ====================================================================================
platform win32 -- Python 3.9.7, pytest-8.1.1, pluggy-1.4.0
rootdir: D:\year2024
configfile: pytest.ini
plugins: allure-pytest-2.13.3, anyio-3.6.2, dash-2.9.3, hypothesis-6.99.6, assume-2.4.3, cov-5.0.0, forked-1.6.0, html-4.1.1, metadata-3.1.1, repeat-0.9.3, rerunfailures-14.0, ssh-0.1, stress-1.0.1, xdist-3.5.0
collected 3 items


========================================================================================== Loop # 1 =========================================================================================

test_case\test_demo.py ...                                                                                                                                                            [100%]

========================================================================================== Loop # 2 =========================================================================================
. [100%]. [100%]. [100%]

========================================================================================== Loop # 3 =========================================================================================
. [100%]. [100%]. [100%]

==================================================================================== 9 passed in 15.62s ====================================================================================

(py397) D:\year2024>
相关推荐
雪碧聊技术1 天前
什么是压力测试?压力测试的工具有哪些?一文详解
jmeter·压力测试·wrk
nbwenren1 天前
2026实测:Gemini 3.1 Pro 从需求文档到 pytest 测试用例一条龙教程
测试用例·pytest
我的xiaodoujiao2 天前
API 接口自动化测试详细图文教程学习系列16--项目实战演练3
python·学习·测试工具·pytest
我的xiaodoujiao2 天前
API 接口自动化测试详细图文教程学习系列15--项目实战演练2
python·学习·测试工具·pytest
技术钱3 天前
PyTest配置与API测试用例
servlet·测试用例·pytest
汽车仪器仪表相关领域3 天前
Kvaser Memorator Professional HS/LS:高速 + 低速双通道 CAN 总线记录仪,跨系统诊断的专业级解决方案
网络·人工智能·功能测试·测试工具·安全·压力测试
迷藏4944 天前
# 发散创新:用Locust实现高并发场景下的精准压力测试与性能调优实战在现代微服务架构中,**接口稳定性与响应速度**已成为衡量
java·python·微服务·架构·压力测试
weixin_419658314 天前
pytest 零基础入门实战指南
python·pycharm·pytest
汽车仪器仪表相关领域5 天前
Kvaser Memorator Pro 2xHS v2:双通道CAN FD智能记录仪,赋能华南汽车与工业总线测试升级
大数据·人工智能·功能测试·安全·汽车·压力测试·可用性测试