博客
关于我
pytest-xdist:远程多主机 - 分布式运行自动化测试
阅读量:805 次
发布时间: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/

    你可能感兴趣的文章
    Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
    查看>>
    Python 八大排序算法合集
    查看>>
    python 关于epoll的学习
    查看>>
    Python 内存管理
    查看>>
    Python 内嵌函数:它们有什么用处?
    查看>>
    Python 内置 sum 函数 vs. for 循环性能
    查看>>
    python 内置slice的用法
    查看>>
    Python 内置时间模块
    查看>>
    python 内部如何实现命名元组?
    查看>>
    Python 写Android App性能:入门到高级
    查看>>
    python 写入json数据到数据库
    查看>>
    Python 出现 TypeError: ‘encoding‘ is an invalid keyword argument for this function 解决方法
    查看>>
    python 出现 TypeError: ‘list‘ object is not callable 的解决方法
    查看>>
    python 函数1
    查看>>
    python 函数学习
    查看>>
    Python 函数随笔 map()函数,lambda自定义函数
    查看>>
    Python 分析天气,告诉你中秋应该去哪里
    查看>>
    python 列表中dict中key排序
    查看>>
    python 列表函数
    查看>>
    Python 列表删除相同的元素
    查看>>