背景:

使用 macaca 进行分布式管理,由一台 server 统一管理所有可用的节点。因为没有找到 macaca 内置有这块的管理功能,所有用 Python 简单实现了一套。

结构图如下
server(Linux 服务器,Python 管理)功能:1. 用例管理和组织 2.节点管理 。
hub(Windows PC ,安装 macaca 相关服务)功能:执行 server 分配的用例,并返回结果。

节点管理流程
server 端:

  1. 启动一个 socket,并监听相关端口。
  2. 如果端口收到节点发来的请求(启动或关闭),更新数据库中对应节点的状态
  3. 定时(每次启动,或是执行测试任务前)检查数据库中所有节点是否可用。

hub 端

  1. 启动服务时,检查相关端口是否已启动。
  2. 若端口已启动,不再重复开启;若端口未启动,开启新的 macaca 服务。
  3. 端口开启、关闭,都发送通知到 server 端。

分布式执行流程如下:

server 端节点监听代码:

hub 端节点注册代码:


↙↙↙阅读原文可查看相关链接,并与作者交流