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来解决此问题。

最新文章

  1. css3 -- 过渡与动画
  2. 另类方法解决设计Web页面出现:Error Creating Control
  3. dojox.grid.EnhancedGrid 和 dojox.grid.DataGrid 的继承关系
  4. 深入理解java虚拟机系列二——垃圾收集算法
  5. java.util.zip.ZipException: invalid LOC header (bad signature)
  6. Creating your own auto-configuration
  7. py-day3-6 python map函数
  8. TensorFlow 使用变量共享
  9. BZOJ4475[Jsoi2015]子集选取——递推(结论题)
  10. BZOJ1014[JSOI2008]火星人——非旋转treap+二分答案+hash
  11. Python学习day1 初识python&环境安装
  12. xdebug php 运行效率分析工具
  13. Hibernate学习(三)———— 一对多映射关系
  14. spring boot + session+redis解决session共享问题
  15. 随机数模块 random模块(1)
  16. Code Review学习笔记
  17. UITableView取消选中颜色、常用操作
  18. UIWebView清除缓存和cookie[转]
  19. PowerDesigner 概念数据模型
  20. centos安装mysql57

热门文章

  1. 【力扣】2400. 恰好移动 k 步到达某一位置的方法数目
  2. 欠你们的 → k8s 集群搭建,除夕奉上!
  3. ORM哪家强?java,c#,php,python,go 逐一对比, 网友直呼:全面客观
  4. 【学习笔记】开源库之 - sigslot (提供该库存在对象拷贝崩溃问题的解决方案)
  5. DBSCAN学习笔记
  6. 新开一个系列,c++刷题集
  7. 3分钟安装fcpx10.6.5最新 小白一看就会 简体中文版 (亲测有效)
  8. 学习Java Day10
  9. Postgresql模板数据库之template1 和 template0
  10. 【译】.NET 7 中的性能改进(八)