博客
关于我
pytest-xdist:远程多主机 - 分布式运行自动化测试
阅读量:799 次
发布时间:2023-03-05

本文共 757 字,大约阅读时间需要 2 分钟。

pytest-xdist插件为pytest提供了一种全新的测试执行模式,主要用于分布式测试,通过分发测试用例到多个CPU或远程服务器加速测试执行。其最常见的使用方法是通过pytest -n auto命令来实现。

测试用例分布式运行的优势

  • 独立执行:每个测试用例的运行完全独立,无需依赖其他用例的执行结果。
  • 执行顺序灵活:测试用例可以按顺序或随机执行,不强制按照固定的顺序执行。
  • 重复执行支持:每个用例可以重复执行,不影响其他用例的运行结果。
  • 安装与配置

    安装插件:

    pip install pytest-xdist

    由于SSH方式的配置较为复杂,本文将以socket方式进行演示。

    原理

    socket方式通过开启socket服务实现服务间的信息交换和数据传递。

    下载文件

    socket服务器脚本:

    https://raw.githubusercontent.com/pytest-dev/execnet/master/execnet/script/socketserver.py

    启动socket服务

    在本地机器上运行:

    python socketserver.py

    远程执行测试

    在主机终端运行测试:

    pytest -n auto -d --tx socket=127.0.0.1:8888 --rsyncdir ./

    云服务器socket服务示例

    在云服务器启动socket服务:

    python socketserver.py

    执行结果

    远程服务器会将当前项目拷贝到目标目录并执行测试用例。

    注意事项

    • 使用-n auto避免文件传输慢,单独运行worker速度较慢。
    • 由于rsync功能已废弃,建议不使用该选项。
    • SSH和套接字服务器不受影响,仍可继续使用。

    以上内容可根据实际需求进行调整,希望对您有所帮助!

    转载地址:http://sjafk.baihongyu.com/

    你可能感兴趣的文章
    PWM(Pulse Width Modulation,脉冲宽度调制)是什么
    查看>>
    pwnable bof
    查看>>
    PXC / Galera Cluster集群概述及原理分析
    查看>>
    PXC搭建MySQL高可用集群
    查看>>
    PXE + Kickstart 服务器批量安装Linux系统
    查看>>
    PXE+HTTP+TFTP+Kickstart实现无人值守部署centos6.10
    查看>>
    pxe实现linux的自动安装
    查看>>
    py 的 第 19 天
    查看>>
    Py-Bitcoin 项目使用教程
    查看>>
    Pytorch 图像增强 实现翻转裁剪色调等 附代码(全)
    查看>>
    pyautogui模拟鼠标拖动选中文字的基本知识(附Demo)
    查看>>
    pyautogui的基本介绍和使用
    查看>>
    PyCharm - 社区版是否能够突出显示 css/javascript?
    查看>>
    PyCharm 2018.3.5 RC 发布,原生 SSH 支持
    查看>>
    PyCharm 3.1 在索引期间永远挂起并且无法使用
    查看>>
    Pycharm Pro 2018.2 汉化专业激活破解
    查看>>
    PyCharm vs VSCode,是时候改变你的 IDE 了!
    查看>>
    PyCharm 中,“新建”(New)和“新建项目”(New Project)-ChatGPT4o作答
    查看>>
    PyCharm 代码编辑与调试运行详解
    查看>>
    Pycharm 出现 instantitaing tests 以及test session starts 的解决方法
    查看>>