应用抓取工具

您可以使用应用抓取工具(Jetpack 的一部分)来自动测试您的应用,而无需编写或维护任何代码。

抓取工具与您的应用一起运行,自动发出操作(点按、滑动等)来探索应用的状态空间。如果再也没有要执行的独特操作、应用发生崩溃或达到了您指定的超时,抓取会自动终止。

使用抓取工具进行测试非常简单,因为无需编写或维护任何代码。 此外,您还可以在各种设备上运行该工具,以查找崩溃、视觉问题或性能问题。通常,最好使用基于云的服务(如 Firebase 测试实验室)来更方便快捷地测试屏幕尺寸和硬件配置的多种组合。

目标受众群体

应用抓取工具面向希望以最少的配置来确保应用的基本功能正常的开发者。除了纯黑盒测试之外,还可以将抓取工具配置为提供特定输入,如登录凭据或深层链接。

使用入门

在开始之前,请确保您具有最新版本的 Android SDK, 它随附于 Android Studio。 如果您安装独立的 Android SDK,请确保它包含最新的构建工具和平台工具。

然后,下载抓取工具二进制文件归档

接下来,启动模拟器或使用 USB 线连接实体设备。 通过运行以下命令来确认设备已连接:

adb devices

如需调用抓取工具,请先将归档提取到您选择的目录中。从该目录中,使用以下命令调用抓取工具:

java -jar crawl_launcher.jar --apk-file path/to/my/app.apk --android-sdk path/to/my/android/sdk

抓取工具选项

您可以使用以下选项来调用抓取工具:

选项 说明
--android-sdk path

指定 Android SDK 的路径。

这是一个必需的标记。

--apk-file file

指定应用 APK 的路径,应用抓取工具随后会对其进行安装和抓取。

这是一个必需的标记(如果未指定 --app-package-name)。

--app-package-name name

指定应用的软件包名称。当您的应用已安装在设备上且无需重新安装时,使用此选项。

这是一个必需的标记(如果未指定 --apk-file)。

--key-store path

指定用于为您的应用和抓取工具 APK 签名的密钥库的路径。当您的应用需要特定签名才能正常运行时,使用此选项。

--key-store-password password

指定您为 --key-store 选项提供的密钥库的密码。

这是一个必需的标记(如果已指定 --key-store)。

--timeout-sec timeout

指定抓取的超时(以秒为单位)。如果未指定,抓取会在 60 秒后停止。

已知问题

无法删除原始签名文件

在开始抓取之前,JDK 9 用户可能会看到以下错误消息:

androidx.test.tools.crawler.launcher.exceptions.ApkSigningException: Failed to delete original signature files

如果您遇到这种情况,我们建议您使用 JDK 8 或 JDK 10 以及更高版本。如需详细了解此问题,请参阅这一 JDK 9 错误。一些用户通过使用经过更新的 Android Studio 版本重新构建其 APK 解决了此问题。

其他资源

如需详细了解如何使用应用抓取工具,请参阅以下资源。