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

Google 官方 AppCrawles学习小结的更多相关文章

  1. MVP学习笔记——参考Google官方demo

    demo地址:https://github.com/googlesamples/android-architecture 在这个项目里,每个包的分工都很明确,大体上来说,一个包会对应一个界面.一个界面 ...

  2. 【收藏】Android屏幕适配全攻略(最权威的Google官方适配指导)

    来源:http://blog.csdn.net/zhaokaiqiang1992 更多:Android AutoLayout全新的适配方式, 堪称适配终结者 Android的屏幕适配一直以来都在折磨着 ...

  3. google官方的下拉刷新+自定义上拉加载更多

    转载请标注转载:http://blog.csdn.net/oqihaogongyuan/article/details/50949118 google官方的下拉刷新+自定义上拉加载更多 现在很多app ...

  4. 【转载】Hyperledger学习小结

    Hyperledger学习小结 自学Hyperledger Composer也有段时间了,是时候对所学的知识总结一下了.因为没有实际项目参与的话,差不多也就到此为止了.后续可能会去了解一下以太坊的技术 ...

  5. flex学习小结

    接触到flex一个多月了,今天做一个学习小结.如果有知识错误或者意见不同的地方.欢迎交流指教. 画外音:先说一下,我是怎么接触到flex布局的.对于正在学习的童鞋们,我建议大家没事可以逛逛网站,看看人 ...

  6. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  7. react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)

    react学习小结   本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...

  8. android SwipeRefreshLayout google官方下拉刷新控件

    下拉刷新功能之前一直使用的是XlistView很方便我前面的博客有介绍 SwipeRefreshLayout是google官方推出的下拉刷新控件使用方法也比较简单 今天就来使用下SwipeRefres ...

  9. objective-c基础教程——学习小结

    objective-c基础教程——学习小结   提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...

  10. pthread多线程编程的学习小结

    pthread多线程编程的学习小结  pthread 同步3种方法: 1 mutex 2 条件变量 3 读写锁:支持多个线程同时读,或者一个线程写     程序员必上的开发者服务平台 —— DevSt ...

随机推荐

  1. mysql常用命令,检查数据库连接情况以及修改时区

    常用操作 注:也可以运行 mysql -u 用户名(root) -p 密码(root) 数据库名(bank) ,然后回车 导入文件:source e:bank.sql (你的sql文件) 回车 PS ...

  2. angular Ionic CLI项目开始

  3. 如何通过Zabbix Docker配置HTTPS访问系统?

    概述 前面文章曾介绍过如果使用docker-compose快速部署一个Zabbix系统,但是部署的Zabbix系统是使用http协议进行访问的.有时候为了保证安全.我们需要配置使用https协议进行访 ...

  4. 注解_概念-注解_JDK内置注解

    注解_概念 注解: 概念:说明程序的.给计算机看的 注释:用文字描述程序的.给程序员看的 定义︰注解(Annotation),也叫元数据.一种代码级别的说明.它是J0K1.5及以后版本引久的一个特性, ...

  5. 程序员必备的数据库知识 2:Join 算法

    前言 连接(Join)是关系数据库重要特性,它和事务常被作为数据库与文件系统的两个重要区别项.程序员江湖一直流传着某某 baba 的神秘开发宝典,其中数据库部分有重要一条避免过多表的 Join,奈何 ...

  6. LeetCode_804. 唯一摩尔斯密码词

    题目 难度:简单 原文:https://leetcode-cn.com/problems/unique-morse-code-words/ 题目 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一 ...

  7. 一段简单的对TXT文件的操作代码

    1 string txt = @"C:\DetectFolder\IPV4地址.txt"; 2 string path = ""; 3 4 if (File.E ...

  8. Rigol DSA815频谱仪在合肥光源工作点测量系统中的应用

    发的这篇文,我只是搬运工,读者切记. 合肥光源工作点测量系统已实现BBQ无激励在线测量,还是前些年永良师弟在这的时候调试成功的,并和超才把安捷伦的一台频谱仪和普源的DSA815的IOC调试成功,不过在 ...

  9. [代码审计基础 04]ssrf漏洞的利用&伪协议

    ssrf漏洞的利用&伪协议 0x1 SSRF原理解析 什么是ssrf SSRF (Server-Side Request Forgery,服务端请求伪造)是指攻击者向服务端发送包含恶意URL链 ...

  10. 题解 P1627 [CQOI2009] 中位数

    傻逼题但是被自己的傻逼操作爆了好几次零(悲愤 .... 没什么好讲的,一眼题... //SIXIANG #include <iostream> #define int long long ...