博客
关于我
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/

    你可能感兴趣的文章
    POJ1417 True Liars —— 并查集 + DP
    查看>>
    POJ1502(MPI Maelstrom)
    查看>>
    poj1730 - Perfect Pth Powers(完全平方数)(水题)
    查看>>
    poj1753——Flip Game
    查看>>
    poj1936 假期计划第一水
    查看>>
    poj1958-汉诺四塔问题(三种方法)
    查看>>
    poj1988(并查集)
    查看>>
    POJ2007+几何+极角排序
    查看>>
    poj2039
    查看>>
    posix多线程有感--自旋锁
    查看>>
    Postgresql中自增主键序列的使用以及数据传输时提示:错误:关系“xxx_xx_xx_seq“不存在
    查看>>
    postgreSQL入门命令
    查看>>
    PostgreSQL删除数据库报"ERROR: There is 1 other session using the database."
    查看>>
    PostgreSQL学习总结(11)—— PostgreSQL 常用的高可用集群方案
    查看>>
    PostgreSQL学习总结(1)—— PostgreSQL 入门简介与安装
    查看>>
    PostgreSQL学习总结(6)—— PostgreSQL 模式(SCHEMA)详解
    查看>>
    PostgreSQL学习笔记:PostgreSQL vs MySQL
    查看>>
    PostgreSQL数据库pg_dump命令行不输入密码的方法
    查看>>
    postgresql流复制配置
    查看>>
    Postman如何做接口测试:如何导入 swagger 接口文档
    查看>>