Поисковый робот приложений

Используйте инструмент App Crawler, входящий в состав 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.

Это обязательный флаг, если --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 . Некоторые пользователи исправили проблему, пересобрав свой APK с помощью обновленной версии Android Studio.

Дополнительные ресурсы

Для получения дополнительной информации об использовании App Crawler обратитесь к следующим ресурсам.

  • Firebase Test Lab Robo Test содержит подробную документацию, а также инструкции по запуску тестов сканера в облаке.