App Crawler

摘要:
谷歌正式发布了一个应用程序遍历工具AppCrawler。当没有其他特殊操作要执行、应用程序崩溃或达到超时时间时,AppCrawler将自动停止。Crawler测试非常简单,因为它不需要编写和维护任何代码。AppCrawler的目标受众是希望以最低配置确保应用程序基本功能的开发人员。除了纯黑盒测试,您还可以配置AppCrawler以设置特定的输入,例如登录凭据或深度链接。˃AdbdevicesList-devicesattached6QDDU196XXXXXXX设备解压缩下载的app-crawler.zip包并进入解压缩的目录--Apk文件指定您的AppAPK路径,AppCrawler将对其进行安装和爬网--密钥存储指定由app和CrawlerAPK签名的密钥存储的路径。

App Crawler第1张

Google官方出了一款App遍历工具App Crawler。

文档:https://developer.android.google.cn/training/testing/crawler

App Crawler工具是Android Jetpack的一部分,它可自动的运行你的App,不需要编写或维护任何代码。

通过App Crawler运行App,自动的执行动作(点击、拖动等)遍历你的App。当没有其他特殊的操作要执行、应用程序崩溃或达到超时时间,App Crawler将自动停止。

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.zip

接下来,启动Android模拟器,或者通过USB连接一台Android手机,通过ADB工具检测设备。

> adb devices
List of devices attached
6QDDU196XXXXXX        device

将下载的 app-crawler.zip 包解压,进入到解压目录。

> 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 选项

你可以在使用Crawler时跟以下选项。

OptionDescription
--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解决了这个问题。

免责声明:文章转载自《App Crawler》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql 归档方案(一次性)springboot引入本地jar包下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

浏览器兼容性测试

❤参考文档:网址 定义:浏览器兼容性又叫网页或者网站的兼容性问题,是指不同的浏览器(内核)对同一段代码有不同的解析,造成页面显示不一样的情况 所以需要考虑到:内核,客户端屏幕尺寸&分辨率,操作系统,不同终端 1.什么时候需要做浏览器兼容性测试? 大型的,用户群体多的网站都需要做浏览器兼容性测试,需要测试主流的浏览器(除特定要求的浏览器以外)...

解决使用vue打包时vendor文件过大或者是app.js文件很大的问题

这篇文章主要介绍了使用vue打包时vendor文件过大或者是app.js文件很大问题的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下 第一次使用vue2.0开发,之前都是用的angular1.x。在使用vue-cli脚手架打包后(UI用的Element-ui),发现vendor文件很大,将近1M左右。。后来翻阅资料才明白,原来webpac...

5款顶尖Windows文件传输工具

5款顶尖Windows文件传输工具 英文原文: Drasko 日常工作中,公司里的系统管理员或其他岗位的员工都需要传递大量各种类型的文件和文档。其中一些可以通过 email 收发。但由于 email 附件有文件大小限制,因此需要使用文件传输工具来传递较大的文件。在这种情况下就需要文件传输工具出场了。本文即将介绍 5 款顶尖高效免费 Windows 文件传输...

Socket通讯-C#客户端与Java服务端通讯(发送消息和文件)

设计思路 使用websocket通信,客户端采用C#开发界面,服务端使用Java开发,最终实现Java服务端向C#客户端发送消息和文件,C#客户端实现语音广播的功能。 Java服务端设计 package servlet.websocket; import java.io.IOException; import java.util.Map; imp...

PiNetwork – 国外手机挖矿,目前国外热度很高

简介 Pi Network:起始于2019年3月14日,这也是项目名称的由来,圆周率Π。一个新出的手机离线挖矿软件,在国外热度很高,国内玩的还比较少。项目团队成员均来自斯坦福,现在处于挖矿早期,可以获得比较高的收益,整体项目背景还是不错的。此类挖矿不用浪费流量,只需要24小时打开一次领取收益即可。 且挖且珍惜 2019年10月30日 全球人数已达100万,...

移动端开发的兼容问题(自我总结篇)

移动端开发的兼容问题 文章已同步我的github笔记https://github.com/ymblog/blog,欢迎大家加star~~ 1、ios下input为type=button属性disabled设置true,会出现样式文字和背景异常问题。 解决方案:使用opacity=1来解决 2、对非可点击元素如(label,span)监听click事件,部...