使用 App Crawler 工具(Jetpack 的一部分)Jetpack,可以自动测试您的应用,而无需编写或维护任何代码。
爬虫与您的应用一起运行,自动发出操作(点击、滑动等)以探索应用的状态空间。当没有更多唯一操作需要执行、应用崩溃或您指定的超时时间到达时,爬虫会自动终止。
使用爬虫进行测试非常简单,因为它无需编写或维护任何代码。此外,您可以在各种设备上运行它,以查找崩溃、视觉问题或性能问题。通常,最好使用基于云的服务(例如 Firebase Test Lab)来更轻松、更快速地测试屏幕尺寸和硬件配置的多种组合。
目标受众
App Crawler 面向希望以最少的配置确保其应用基本功能的开发人员。除了纯粹的黑盒测试外,爬虫还可以配置为提供特定输入,例如登录凭据或深层链接。
入门
在开始之前,请确保您拥有最新版本的 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 Crawler 会安装并爬取该 APK。 如果未指定 |
--app-package-name name
|
指定应用的包名。当您的应用已安装在设备上并且不需要重新安装时,使用此选项。 如果未指定 |
--key-store path
|
指定用于签署应用和爬虫 APK 的密钥库的路径。当您的应用需要特定的签名才能正常工作时,使用此选项。 |
--key-store-password password
|
指定您为 如果指定了 |
--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 来解决此问题。
其他资源
有关使用 App Crawler 的更多信息,请查阅以下资源。
- Firebase Test Lab Robo 测试 包含详细的文档以及如何在云中运行爬虫测试的说明。