手游自动化测试框架需要几个模块:
-
脚本模块:需要对常见的操作进行API封装,脚本一般选择常见的javascript,python,lua等,这个封装主要针对APP上的函数进行封装,以降低开发难度。
针对有手游,在函数封装方面,主要是图像识别可视化、坐标色图识别等技术的实现。例如airtest针对图像识别做了图形化设计,开维控制精灵(Ctrl.js)也实现了这部分功能。 -
IDE调试模块:主要是实现IDE编程环境和调试模块,可以例用第三方,例如vscode,idea,也可以自主实现。例如auto.js利用的是vscode, Ctrl.js是自主研发IDE环境。
调试模块主要实现PC机IDE代码和APP上脚本的实时调试,方便用户单步查错。 -
通信模块:实现PC机到APP中的数据交换。例如脚本代码同步、云控定时任务等。
-
机器人流程自动化RPA模块:主要实现无代码功能,支持用户直接录制操作手游动作,达到无代码编程的效果。开维控制精灵可以自动生成Ctrl.js代码,极大的降低了手游测试难度。
-
远控模块:支持对多台手机远程实时监控,远程执行脚本等任务策略下放。
-
其他模块:打包策略、脚本分享策略等等。
下面以一个实例,大体介绍框架核心模块功能:
- 脚本模块
如图所示,在javascript基础上封装的API函数:
打开APP的函数app.launchApp();
图像识别点击可视化函数imagev.click();
这些函数都是对APP函数的封装,本实例中是对安卓JAVA功能函数的封装。
- IDE调试模块
代码部分是在PC中的浏览器IDE环境下编写的,可以实时同步到手机APP中,并且支持断点、单步执行。通信模块负责代码同步等机制。
实例代码如下:
//--------------------------------------------------------------------------------------------------
// ctrl.js 视频教程:https://www.bilibili.com/video/BV1B44y1P7tC/
// ctrl.js 开发环境:https://ctrljs.ikaiwei.com
// ctrl.js 开发文档:https://ctrljs.ikaiwei.com/ctrljsapi
// ctrl.js 资源总汇:https://ikaiwei.com/download/ctrljs/res.html
// ctrl.js 资源下载:https://pan.baidu.com/s/1RiqN3M_Nqbtd3c-o_QrzLg 提取码:kw16
// ctrl.js 手机app(开维控制精灵)华为下载:https://appstore.huawei.com/app/C100728387
// ctrl.js 后台保活:禁止休眠;开悬浮框;关电池优化https://ctrljs.ikaiwei.com/ctrljsapi/baohuo.html
//--------------------------------------------------------------------------------------------------
// 脚本功能:手游自动化测试基础第一课 测试方法及流程
// 运行环境:无需root权限;华为手机,安卓9.0以上版本;Ctrl.js V8.6