Эта страница содержит помощь по устранению неполадок и ответы на часто задаваемые вопросы о запуске тестов в Firebase Test Lab . Известные проблемы также задокументированы. Если вы не нашли то, что искали, или вам нужна дополнительная помощь, присоединитесь к каналу #test-lab в Firebase Slack или обратитесь в службу поддержки Firebase .
Поиск неисправностей
При выборе устройства с высокой ёмкостью в каталоге Test Lab тесты могут запускаться быстрее. При низкой ёмкости устройства выполнение тестов может занять больше времени. Если количество запущенных тестов значительно превышает ёмкость выбранных устройств, выполнение тестов может занять больше времени.
Тестирование на любом уровне емкости устройства может занять больше времени по следующим причинам:
- Трафик, который влияет на доступность устройства и скорость тестирования.
- Сбои устройств или инфраструктуры могут произойти в любой момент. Чтобы проверить, есть ли информация об инфраструктуре для Test Lab , посетите панель состояния Firebase .
Дополнительную информацию о емкости устройства в Test Lab см. в информации о емкости устройств для Android и iOS .
Неопределенные результаты испытаний обычно возникают из-за отмены тестовых запусков или ошибок инфраструктуры.
Ошибки инфраструктуры возникают из-за внутренних проблем Test Lab , таких как сетевые ошибки или непредвиденное поведение устройств. Test Lab автоматически прекращает тестовые запуски, которые многократно приводят к ошибкам инфраструктуры, прежде чем сообщить о неопределённом результате. Однако вы можете отключить эти повторные попытки с помощью failFast .
Чтобы определить причину ошибки, выполните следующие действия:
- Проверьте наличие известных сбоев на панели состояния Firebase .
Повторите тест в Test Lab чтобы убедиться в его воспроизводимости.
Попробуйте запустить тест на другом устройстве или типе устройства, если это применимо.
Если проблема не устранена, свяжитесь с командой Test Lab на канале #test-lab в Firebase Slack.
Шардинг может привести к увеличению времени выполнения тестов, если количество указанных шардов превышает количество устройств, доступных для использования в Test Lab . Чтобы избежать этой ситуации, попробуйте переключиться на другое устройство. Подробнее о выборе другого устройства см.Емкость устройства .
При отправке запроса на тестирование ваше приложение сначала проходит проверку, повторно подписывается и т. д. для подготовки к запуску тестов на устройстве. Обычно этот процесс занимает менее нескольких секунд, но на него могут влиять такие факторы, как размер приложения.
После подготовки приложения запуски тестов планируются и остаются в очереди до тех пор, пока устройство не будет готово к их запуску. Пока все запуски тестов не будут завершены, матрица будет иметь статус «Ожидание» (независимо от того, находятся ли тесты в очереди или активно выполняются).
После завершения выполнения теста тестовые артефакты скачиваются с устройства, обрабатываются и загружаются в Cloud Storage . Длительность этого этапа может зависеть от количества и размера артефактов.
Часто задаваемые вопросы
Firebase Test Lab предлагает бесплатные квоты для тестирования на устройствах и использования облачных API. Обратите внимание, что квота на тестирование действует по стандартному тарифному плану Firebase, а квоты на облачные API — нет.
Квота на тестирование
Квоты тестирования определяются количеством устройств, используемых для запуска тестов. План Firebase Spark имеет фиксированную квоту тестирования, которая предоставляется бесплатно для пользователей. Для плана Blaze ваши квоты могут увеличиваться по мере увеличения использования Google Cloud. Если вы достигли своей квоты тестирования, подождите до следующего дня или перейдите на план Blaze, если вы уже используете план Spark. Если вы уже используете план Blaze, вы можете запросить увеличение квоты. Подробнее см. в разделе «Квота тестирования» .
Вы можете отслеживать использование своей тестовой квоты в консоли Google Cloud .
Облачные тестирование квоты API
API Cloud Testing имеет две квоты: количество запросов в день на проект и количество запросов каждые 100 секунд на проект. Вы можете отслеживать использование ресурсов в консоли Google Cloud .
Результаты облачного инструмента API Квота
API Cloud Tool Results имеет две квоты: количество запросов в день на проект и количество запросов каждые 100 секунд на проект. Вы можете отслеживать использование ресурсов в консоли Google Cloud .
Подробнее об ограничениях API см. в разделе «Квоты облачного API для Test Lab . Если вы достигли квоты API:
Подайте запрос на увеличение квот, отредактировав их непосредственно в консоли Google Cloud (обратите внимание, что большинство ограничений по умолчанию установлены на максимум), или
Запросите более высокие квоты API, заполнив форму запроса в консоли Google Cloud или обратившись в службу поддержки Firebase .
Со своего бэкэнда вы можете определить, поступает ли трафик с тестовых устройств, размещенных в Firebase, сверив исходный IP-адрес с нашими диапазонами IP-адресов .
Test Lab не работает с VPC-SC, который блокирует копирование приложений и других тестовых артефактов между внутренним хранилищем Test Lab и контейнерами результатов пользователей.
Чтобы обнаружить нестабильное поведение в ваших тестах, мы рекомендуем использовать--число-нестабильных-тестовых-попытокопция. Повторные запуски Deflake оплачиваются или засчитываются в вашу дневную квоту так же, как и обычные тестовые запуски.
Помните следующее:
- При обнаружении сбоя весь тест выполняется заново. Поддержка повторного выполнения только неудачных тестовых случаев отсутствует.
- Повторные запуски Deflake запланированы на одно и то же время, но не гарантируется их параллельное выполнение, например, когда трафик превышает количество доступных устройств.
Хотя некоторые из этих пунктов есть в наших планах, в настоящее время мы не можем гарантировать поддержку этих платформ тестирования и разработки приложений.
Подробная информация об устройстве доступна через API и может быть получена из клиента gcloud с помощью команды describe :
gcloud firebase test ios models describe MODEL
В Test Lab для iOS изначально нет поддержки шардинга. Однако вы можете использовать клиент Flank для шардинга тестовых случаев iOS.
Это работает путём установки ключа и значений OnlyTestIdentifiers
в файле .xctestrun
. Подробнее см. страницу man
по xcodebuild.xctestrun
.
Для iOS 18 и более поздних версий мы не можем поддерживать видео в результатах поиска.
Известные проблемы
Robo-тест не может обойти экраны входа, требующие дополнительных действий пользователя помимо ввода учетных данных для входа, например, заполнения CAPTCHA.
Тест Robo лучше всего работает с приложениями, использующими элементы пользовательского интерфейса из фреймворка Android UI (включая объекты View
, ViewGroup
и WebView
). Если вы используете тест Robo для проверки приложений, использующих другие фреймворки пользовательского интерфейса, включая приложения на игровом движке Unity, тест может завершиться, не пройдя дальше первого экрана.