博客
关于我
pytest-xdist:远程多主机 - 分布式运行自动化测试
阅读量:802 次
发布时间: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 psycopg2 超时
    查看>>
    Python Pyinstaller Matplotlibrary
    查看>>
    Python Pypi 修改 国内源(以豆瓣源为例)
    查看>>
    Python PyQt5 将不再显示此消息复选框添加到 QMessageBox
    查看>>
    Python PyQt5:如何使用 PyQt5 显示错误消息
    查看>>
    Python PYSFTP-以字符串/文本形式传递私钥,而不是传递文件路径
    查看>>
    Python pytest 面试题!
    查看>>
    Python pytz 时区函数返回一个相差 9 分钟的时区
    查看>>
    python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django
    查看>>
    Python random和json模块
    查看>>
    Python random模块seed理解
    查看>>
    python range()函数
    查看>>
    Python rdflib可传递查询
    查看>>
    Redis 配置高可用和搭建集群
    查看>>
    python redis 集群_python 搭建redis集群
    查看>>
    python redis连接,在Python中使用Redis连接池的正确方法
    查看>>
    python regex_Python RegEx
    查看>>
    python requests post 中文结果请求得到unicode
    查看>>
    Python Requests接口自动化测试实战
    查看>>
    Python requests模块
    查看>>