Android自动化测试之Monkey

  本来是做Web后端的,来公司实习变成微信小程序前端了,到这周变成Android APP测试人员了,也是微醺啊。

  由于对手工测试终究是有些抵触,所有昨天小试了一下不用写代码的自动化压力测试,在此记下我的心得。

  一、Monkey与Android SDK之间的关系

  每个Android手机里都有Monkey工具,Monkey测试是随机模拟手指的一系列操作,此工具不可视化,需Android SDK中的adb来调用它。

  二、环境配置

  开始测试之前需要搭配的环境:Java的JDK、Android SDK、一台Android手机。由于本身就是做Web的,而且也学习过Android,所以这些软件电脑里就有现成的。如何配置JDK和SDK环境变量我就不多说了,网上一搜太多了。

  三、正式测试

  1. 测试时需以管理员身份运行cmd(命令提示符)。

  2. 手机以小米8SE为例,需进入开发者模式,开启开发者选项,连接方式为传输文件,打开USB调试,打开USB安装(ps: 允许通过USB安装应用)、USB调试(安全设置)(ps: 允许通过修改权限或模拟点击)。

  2. adb start-server 此命令是开启adb服务;adb kill-server 此命令是关闭adb服务。

  3. adb install xxx.apk

   安装apk到手机上,xxx.apk电脑上安装包的路径(如:F:\Monkey\xxx.apk);也可以用手机直接安装apk。

  4. adb shell monkey -p com.android.xxx 1000(-p com.andoir.xxx是指定APP的包名,不加会对手机进行全局操作;1000为进行随机操作的次数)

   但是这样测试会触发到音量键和状态栏,所以要根据需求要做一些改良。

  5. adb shell settings put global policy_control immersive.full=* (此命令为全屏状态,可以隐藏状态栏,不过也会对其它应用造成影响)

   adb shell settings put global policy_control null(使用此命令恢复状态栏)

   (参考资料:http://www.cnblogs.com/ssyimeng/p/9777654.html)

  6. 加上 --pct-syskeys 0 可屏蔽掉音量键,如:adb shell monkey -p com.android.xxx --pct-syskeys 0 1000

   (参考资料:http://www.cnblogs.com/ssyimeng/p/9777654.html)

  7. 当然日志肯定是不能少的,在末尾加上 >d:\xxx.txt,如:adb shell monkey -p com.android.xxx --pct-syskeys 0 1000 > F:\Monkey\log.txt

  至此,最终的测试命令就出来了。

  四、报错分析

  在测试的时候若遇到错误,黑窗口会显示,如下图:

  

  这时,我们就需要用到这里的seed,来重复报错的操作,来查看错误是如何触发的。

  

  命令为:adb shell monkey -p com.android.xxx -s 1539935198710 100

  五、总结

  以上,是我个人对Monkey测试的一些心得,我也仅仅是一知半解,Monkey测试的其它命令可输入:adb shell monkey -help 来查看。

posted @ 2018-10-18 11:34  丶Overfly  阅读(395)  评论(0编辑  收藏  举报