手游自动化测试框架需要几个模块:
1. 脚本模块:需要对常见的操作进行API封装,脚本一般选择常见的javascript,python,lua等,这个封装主要针对APP上的函数进行封装,以降低开发难度。
针对有手游,在函数封装方面,主要是图像识别可视化、坐标色图识别等技术的实现。例如airtest针对图像识别做了图形化设计,开维控制精灵(Ctrl.js)也实现了这部分功能。
2. IDE调试模块:主要是实现IDE编程环境和调试模块,可以例用第三方,例如vscode,idea,也可以自主实现。例如auto.js利用的是vscode, Ctrl.js是自主研发IDE环境。
调试模块主要实现PC机IDE代码和APP上脚本的实时调试,方便用户单步查错。
3. 通信模块:实现PC机到APP中的数据交换。例如脚本代码同步、云控定时任务等。
4. 机器人流程自动化RPA模块:主要实现无代码功能,支持用户直接录制操作手游动作,达到无代码编程的效果。开维控制精灵可以自动生成Ctrl.js代码,极大的降低了手游测试难度。
5. 远控模块:支持对多台手机远程实时监控,远程执行脚本等任务策略下放。
6. 其他模块:打包策略、脚本分享策略等等。
下面以Ctrl.js为实例,大体介绍框架核心模块功能:
1. 脚本模块
如图所示,在javascript基础上封装的API函数:
打开APP的函数app.launchApp();
图像识别点击可视化函数imagev.click();
这些函数都是对APP函数的封装,本实例中是对安卓JAVA功能函数的封装。
2.IDE调试模块
代码部分是在PC中的浏览器IDE环境下编写的,可以实时同步到手机APP中,并且支持断点、单步执行。通信模块负责代码同步等机制。