多机交互功能演示
核心需求
-
Web 页面编写 UI 自动化用例
Python 编写用例学习成本较高,并且不易于维护,希望有一种可以通过页面点点点的方式来编写用例。
在社区开源项目中发现了 Sonic,远控页面集成了设备画面、控件元素和 UI 自动化三大主要功能,元素、步骤、用例、用例调试都可以在这个页面上完成,简单方便。
-
实现多机交互
音视频通话和视频会议是核心功能,设备之间涉及到了交互。
-
使用网络连接
设备自带以太网接口,网络稳定,ATX 是再好不过的选择了(设备厂商自带 buff,开机启动 ATX)。
架构图

前端
- 沿用 Sonic 前端页面
- 远控增加多台设备画面(直接使用 ATX websocket)。
- 添加步骤时增加选择设备实现多机交互。
- 控件元素、测试用例使用树形列表维护。
- 添加元素、添加步骤时取消弹窗。
后端
- Python + Flask + FlaskIO + sqlalchemy
- 处理前端请求,主要是 crud 操作。
- 通过 websocket 与前端通信实现测试用例调试功能。
- 通过 socket 与用例执行器进行通信,推送用例数据与实时获取测试结果。
用例执行器
- Python + ATX
- 后端通过 shell 启动用例执行器,每个执行器是一个独立的进程(充分利用多核)。
- 根据后端推送的数据,通过 ATX 操作设备。
「All right reserved, any unauthorized reproduction or transfer is prohibitted」