Google官方出了一款App遍历工具App Crawler。java
文档:https://developer.android.google.cn/training/testing/crawlerandroid
App Crawler工具是Android Jetpack的一部分,它可自动的运行你的App,不须要编写或维护任何代码。shell
经过App Crawler运行App,自动的执行动做(点击、拖动等)遍历你的App。当没有其余特殊的操做要执行、应用程序崩溃或达到超时时间,App Crawler将自动中止。app
Crawler进行测试很是简单,由于不须要编写和维护任何代码。你能够在各类设备上运行它来查找崩溃、视觉或性能问题。咱们能够将它部署成云服务,这样能够更快地测试不一样屏幕的大小、硬件配置下App的运行状况。工具
App Crawler的目标用户是那些但愿以最少配置确保App基本功能的开发人员。除了纯黑盒测试以外,还能够配置App Crawler来设置特定的输入,好比登陆凭证或deep links。性能
在开始以前,你必须安装最新版的Android SDK,你能够安装Anroid Studio来获取,若是你已经安装了Android SDK,取保它包含最新的build tools和platform tools.测试
下载 App Crawler:https://dl.google.com/appcrawler/beta1/app-crawler.zipui
接下来,启动Android模拟器,或者经过USB链接一台Android手机,经过ADB工具检测设备。google
> adb devices List of devices attached 6QDDU196XXXXXX device
将下载的 app-crawler.zip 包解压,进入到解压目录。debug
> cd app-crawler > ls README crawler_app.apk debug.keystore crawl_launcher.jar crawler_stubapp_androidx.apk
执行下面的命令:
java -jar crawl_launcher.jar --apk-file D:/android/com.meizu.flyme.flymebbs_40001003.apk --app-package-name com.meizu.flyme.flymebbs --android-sdk D:/android/sdk
App Crawler运行完成会生成./crawl_output/目录,里面遍历的每一步的截图和更多的日志信息。
你能够在使用Crawler时跟如下选项。
Option | Description |
---|---|
--android-sdk | 指定Android SDK路径。 此选项必填。 |
--apk-file | 指定你的App APK路径,App Crawler会对它进行安装和爬取。若是没有指定 —app-package-name选项,请使用此选项。 |
--app-package-name | 指定App包的名字。当应用程序已安装在设备上,且不须要从新安装时,请使用此选项。 |
--key-store | 指定给App和 Crawler APKs签名的密钥存储库的路径。当您的应用程序须要特定的签名才能正常运行时,请使用此选项。 |
--key-store-password | 指定为 --key-store 选项提供的密钥存储库的密码。若是指定了--key-store,那么这是必需的标志。 |
--timeout-sec | 指定Crawler运行超时时间,单位为秒,若是没有设置,默认为60s |
删除原始签名文件失败。
若是你安装的是JDK9, Crawler运行的时候会抛出如下错误信息:
androidx.test.tools.crawler.launcher.exceptions.ApkSigningException: Failed to delete original signature files
若是遇到这种状况,咱们建议使用JDK 8或10+。有关此问题的更多信息,请参见JDK 9错误。一些用户经过使用更新版本的Android Studio从新构建他们的APK解决了这个问题。