在做移动端稳定性测试的时候,Monkey测试是首选的方案,但是在执行测试过程中也会存在问题。比如说,Monkey测试是随机执行的,如果在执行过程中跳出了要执行的App,打开的系统页面或是其他应用的页面。有的应用有地图页面,debug包的话也会有Debug工具等,直接影响Monkey的执行结果。为了达到测试指定App的效果,希望Monkey在App内的页面上执行,是否有相应的方案呢?
一,修改测试App
通过在网上调研相关的技术,发现可以通过adb shell am start ActiviyName可以打开指定的页面。但是,出于安全考虑,正常开发的App是不能通过这个命令打开页面的,会报如下错误:

所以需要对被测试的App做修改,请参考:Andoird开发调试时不修改Manifest直接启动任意Activity的方法(https://www.jianshu.com/p/54fd9627860a)。经过测试,从gitlab上下载一个可以运行Android App Demo,通过Android Studio打开项目,在app模块的build.gradle文件下的android{}最后添加如下代码:

移动端稳定性测试中,Monkey测试是首选,但随机执行会影响结果。本文介绍两种方案:一是修改测试App,通过修改代码使adb shell am start能打开相应页面;二是开发Monkey测试用例,检测页面是否在白名单,异步多线程启动Monkey,实现控制其在指定页面范围执行。
最低0.47元/天 解锁文章
1170





