pabotRobot Framework 的并行测试执行工具,用于加速测试运行,特别适用于大型测试套件。它基于 multiprocessing 实现,可以同时在多个进程或机器上运行测试,显著减少执行时间。


1. pabot 的基本用法

安装

pip install robotframework-pabot

基本命令

pabot [options] path/to/tests

• 默认情况下,pabot 会使用所有可用的 CPU 核心并行运行测试。


2. 常用参数

参数 说明
--processes <N> 指定并行进程数(默认:CPU 核心数)
--testlevelsplit 按测试用例拆分(默认按套件拆分)
--suitesfrom <output.xml> 从已有结果文件拆分测试
--ordering <orderfile.txt> 按指定顺序运行测试
--argumentfile <args.txt> 从文件读取参数
--pabotlib 启用 PabotLib(用于共享变量)
--resourcefile <lockfile> 管理共享资源(避免冲突)
--artifacts <dir> 保存临时文件(用于调试)
--verbose 显示详细日志

3. 典型使用场景

(1) 并行运行测试(默认按 Suite 拆分)

pabot --processes 4 tests/

• 使用 4 个进程并行运行 tests/ 下的所有测试。

(2) 按测试用例拆分(--testlevelsplit

pabot --testlevelsplit --processes 8 tests/

• 每个测试用例单独分配一个进程(适用于大量小测试)。

(3) 合并多个输出

pabot --processes 4 --outputdir results tests/
rebot results/output.xml  # 合并结果

• 并行运行后,用 rebot 合并报告。

(4) 避免资源冲突(--resourcefile

pabot --resourcefile locks.txt tests/

• 使用 locks.txt 管理共享资源(如数据库、端口等)。

(5) 与 pabotlib 共享变量

pabot --pabotlib tests/

• 允许不同进程共享变量(需在测试中使用 PabotLib 库)。


4. 与 robot 的区别

特性 robot pabot
执行方式 单进程 多进程并行
适用场景 小型测试 大型测试套件
资源管理 支持 --resourcefile
变量共享 直接支持 PabotLib
报告生成 直接生成 rebot 合并

5. 注意事项

  1. 测试独立性:并行测试应尽量减少依赖(如共享数据库、文件等)。
  2. 日志和报告pabot 会生成多个 output.xml,需用 rebot 合并:
    rebot output.xml  # 合并所有进程的结果
    
  3. 资源竞争:如果测试访问共享资源(如数据库、端口),使用 --resourcefile 避免冲突。
  4. 变量共享:跨进程共享变量需使用 PabotLib

6. 示例

并行运行并生成报告

pabot --processes 4 --outputdir results tests/
rebot results/output.xml

• 4 个进程并行运行,最终合并报告。

按测试用例拆分

pabot --testlevelsplit --processes 8 tests/

• 每个测试用例独立运行,适用于大量小测试。


总结

pabot 是 Robot Framework 的 并行测试工具,适用于加速大型测试套件。
• 主要参数:
--processes:控制并行度
--testlevelsplit:按用例拆分
--resourcefile:管理共享资源
• 运行后需用 rebot 合并报告。

适用于 CI/CD 流水线大规模自动化测试,可显著减少执行时间! 🚀

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐