原生Monkey
大家知道Monkey是Android平台上进行压力稳定性测试的工具,通过Monkey可以模拟用户触摸屏幕、滑动、按键等伪随机用户事件来对设备上的程序进行压力测试。而原生的Android Monkey存在一些缺陷:
- 事件太过于随机,测试有效性大打折扣
由于Monkey主要发送一些随机事件来进行测试,测试过程中的事件操作不受控制,大部分操作是无效的(比如点击的是空白区域、在不能滑动的页面进行滑动等等)。 - 对App页面内的控件覆盖率不佳
也是因为随机性这一特点,不能保证App页面的所有控件都能得到有效覆盖测试。 - 有概率跳出测试
点击到通知栏或者状态栏,就会跳转到其他的页面,从而中断当前App的测试。
Google App crawler
Google官方推出的App遍历工具,相比Monkey基于伪随机的事件,App Crawler是基于控件的遍历,可以更好的去遍历App的功能。
官方网址:https://developer.android.google.cn/training/testing/crawler
使用步骤:
-
安装JDK与Android SDK
JDK与SDK的安装可以参考如下文章:
-
下载App Crawler并解压
-
执行以下命令启动测试:
java -jar crawl_launcher.jar --apk-file <apk文件路径> --app-package-name <app包名> --android-sdk <Android SDK路径>
App Crawler运行完成后会生成 crawl_output 目录,里面有遍历的每一步的截图和日志信息。
相关命令参数:
参数 | 描述 |
---|---|
--android-sdk | 指定Android SDK的路径,这是一个必需的标记。 |
--apk-file | 指定应用 APK 的路径,应用抓取工具随后会对其进行安装和抓取,这是一个必需的标记(如果未指定--app-package-name )。 |
--app-package-name | 指定应用的软件包名称。当您的应用已安装在设备上且无需重新安装时,使用此选项。这是一个必需的标记(如果未指定--apk-file )。 |
--key-store | 指定用于为您的应用和抓取工具 APK 签名的密钥库的路径。当您的应用需要特定签名才能正常运行时,使用此选项。 |
--key-store-password | 指定您为--key-store 选项提供的密钥库的密码。这是一个必需的标记(如果已指定 --key-store )。 |
--timeout-sec | 指定抓取的超时(以秒为单位)。如果未指定,抓取会在 60 秒后停止。 |
实测效果
原生Monkey:
Google App Crawler:
欢迎来到testingpai.com!
注册 关于