zoukankan      html  css  js  c++  java
  • 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:Monkeyxxx.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:Monkeylog.txt

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

      四、报错分析

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

      

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

      

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

      五、总结

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

  • 相关阅读:
    第13篇-通过InterpreterCodelet存储机器指令片段
    第12篇-认识CodeletMark
    第11篇-认识Stub与StubQueue
    第10篇-初始化模板表
    第9篇-字节码指令的定义
    Java虚拟机漫漫学习路,我终于悟了
    Unity真机连接profiler
    提取图片中文字方法
    登录锁定个人收藏代码
    java判断密码是否为复杂类型(同时包含大小写和数字)
  • 原文地址:https://www.cnblogs.com/overfly/p/9809529.html
Copyright © 2011-2022 走看看