应用爬网工具

使用应用爬网工具(属于 Jetpack 的一部分),无需编写或维护任何代码即可自动测试您的应用。

爬网工具会与您的应用同时运行,自动发出操作(轻触、滑动等)以探索应用的状态空间。当没有更多唯一操作可执行、应用崩溃或达到您指定的时间限制时,爬网会自动终止。

使用爬网工具进行测试很简单,因为无需编写或维护代码。此外,您可以在各种设备上运行它以查找崩溃、视觉问题或性能问题。通常,最好使用 Firebase Test Lab 等云端服务,以便更轻松、更快速地测试多种屏幕尺寸和硬件配置组合。

目标受众

应用爬网工具的目标受众是希望通过最少配置确保其应用基本功能的开发者。除了纯粹的黑盒测试外,爬网工具还可以配置为提供特定输入,例如登录凭据或深层链接。

开始使用

开始之前,请确保您已安装最新版本的 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 路径,应用爬网工具将安装并爬取该 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 或 10+。有关此问题的更多信息,请参阅此 JDK 9 错误。一些用户通过使用更新版本的 Android Studio 重建其 APK 解决了此问题。

更多资源

有关使用应用爬网工具的更多信息,请查阅以下资源。