Pytest 测试用例并行运行与分布式运行

简介

Pytest 支持测试用例的并行运行和分布式运行,这可以加速测试执行,特别是在大型测试套件中。


使用场景

  • 场景一

测试用例 1000 条,一个用例执行 1 分钟,一个测试人员执行需要 1000 分钟。
通常我们会用人力成本换取时间成本,加几个人一起执行,时间就会缩短。
如果 10 人一起执行只需要 100 分钟,这就是一种分布式场景。

  • 场景二

假设有个报名系统,对报名总数统计,数据同时进行修改操作的时候有可能出现问题,需要模拟这个场景,需要多用户并发请求数据。
解决方案:使用分布式并发执行测试用例。


使用步骤

  • 分布式插件pytest-xdist

  • 安装及运行pip install pytest-xdist

    • 注意:用例多的时候效果明显,多进程并发执行,同时支持allure。

      • 代码示例

        python 复制代码
        from time import sleep
        
        def test_foo():
            sleep(1)
            assert True
        
        def test_bar():
            sleep(1)
            assert True
        
        def test_bar1():
            sleep(1)
            assert True
        • 执行 pytest -n auto 启用并行测试,它会自动检测计算机的 CPU 核心数量,并根据可用的核心数来并行运行测试用例,以加快测试执行速度。
          • 运行结果

深入了解

  • pytest 的并行 / 分布式,不是 pytest 本体功能,而是靠pytest-xdist插件:
  • 主进程(master):只负责「收集用例 + 分发」
  • worker:真正执行测试
    📌 pytest 本身:单进程、单线程
    📌 并行 / 分布式:进程级隔离

并且需要注意:

❌ pytest 并行 ≠ 多线程

✅ pytest 并行 = 多进程

相关推荐
可乐鸡翅yeah_14 小时前
HLS 自动化拨测与手动调试分工,流媒体线上监控体系建设实践
运维·自动化·测试用例·音视频·媒体·m3u8·音视频在线播放
星恒讯工业路由器15 小时前
分布式光伏站点分散难联网?4G/5G点对多点自组网方案解析
分布式·物联网·5g·分布式光伏·自组网·点对多点通信·4g/5g
qq_4523962316 小时前
第十一篇:《eBPF 进阶:自定义探针与生产级可观测性部署》
分布式
2601_9622982716 小时前
【自动化测试】基于Selenium + Python的web自动化框架
自动化测试·python·selenium·测试用例·web框架
11路没有终点16 小时前
pytest 参数化与 Mark 标记
pytest
重庆小透明16 小时前
Kafka 完全指南:从基础组件到核心原理(包含面试题)
java·分布式·微服务·架构·kafka
一本正经的不务正业17 小时前
kafka与RocketMQ的不同
分布式·kafka·rocketmq
2601_9622962817 小时前
五种Python自动化测试框架汇总,附学习方法
自动化测试·pytest·unittest·robotframework·python框架
国科安芯19 小时前
基于抗辐射MCU的卫星分布式控制系统CANFD总线架构研究
网络·人工智能·分布式·单片机·嵌入式硬件·架构·抗辐射