Google 官方 AppCrawles学习小结
AppCrawler可自动化测试应用程序,无需编写和维护任何代码。
可以自动发出(轻按、滑动)等操作执行app,当应用程序崩溃或达到指定的超时时间将终止运行
可以在各种设备上运行它以查找崩溃,视觉问题或性能问题
每一次操作都会有截图以及相关日志。
缺点:不开源,只有安装包,感觉这不像谷歌的风格。
与monkey原理不同,monkey是随机点,不基于控件,appcrawler基于uiautomator的
官方可以访问的路径地址:
https://developer.android.google.cn/training/testing/crawler
使用此工具应保证使用最新版本的Android SDK ,如果是仅仅安装Android SDK,应确保包含最新的build tools 和 platform tools。
AppCrawler工具下载地址:https://dl.google.com/appcrawler/beta1/app-crawler.zip
使用操作:
1、启动模拟器,或者链接物理设备,确认设备已经通过adb连接成功
2、启用Crawler程序,命令如下:
不用安装,直接运行安装过的app:
java -jar crawl_launcher.jar
--app-package-name com.******.mproject
--android-sdk D:\android-sdk-windows
获取某处apk包进行安装app:
java -jar crawl_launcher.jar
--apk-file E:\SoftTest\00_Doc\04_Temp\03_Middleware\04_Test\Android\MAndroid_1.0.5_Build191011_TEST\MAndroid.apk
--app-package-name com.******.mproject
--android-sdk D:\android-sdk-windows
运行结束输出截图和日志相关文件在crawl_output文件夹内
配置选项
官方的配置选项
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 |
已知的问题
删除原始签名文件失败
在开始爬网之前,JDK 9用户可能会看到以下错误消息:
androidx.test.tools.crawler.launcher.exceptions.ApkSigningException:无法删除原始签名文件
如果遇到这种情况,我们建议使用JDK 8或10+。有关此问题的更多信息,请参见此 JDK 9错误。一些用户通过使用更新版本的Android Studio重建APK来解决此问题。