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

前端
沿用Sonic前端页面
- 远控增加多台设备画面(直接使用ATX websocket)。
- 添加步骤时增加选择设备实现多机交互。
- 控件元素、测试用例使用树形列表维护。
- 添加元素、添加步骤时取消弹窗。
后端
Python + Flask + FlaskIO + sqlalchemy
用例执行器
Python + ATX
- 后端通过shell启动用例执行器,每个执行器是一个独立的进程(充分利用多核)。
- 根据后端推送的数据,通过ATX操作设备。
页面展示
- 支持多设备画面

- 控件元素,取消添加元素的弹窗,点击元素值直接存到添加元素表单中

- 测试用例使用树形列表维护,分类清晰些
