Эта страница содержит помощь по устранению неполадок и ответы на часто задаваемые вопросы о запуске тестов с 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 предлагает бесплатные квоты для тестирования на устройствах и использования Cloud API. Обратите внимание, что квота тестирования использует стандартный тарифный план Firebase, а квоты Cloud API — нет.
Квота на тестирование
Квоты тестирования определяются количеством устройств, используемых для запуска тестов. План Firebase Spark имеет фиксированную квоту тестирования бесплатно для пользователей. Для плана Blaze ваши квоты могут увеличиться, если ваше использование Google Cloud со временем увеличится. Если вы достигли своей квоты тестирования, подождите до следующего дня или перейдите на план Blaze, если вы в настоящее время используете план Spark. Если вы уже используете план Blaze, вы можете запросить увеличение квоты. Для получения дополнительной информации см. Квота тестирования .
Вы можете отслеживать использование своей тестовой квоты в консоли Google Cloud .
Квота API облачного тестирования
API Cloud Testing поставляется с двумя квотными лимитами: запросы в день на проект и запросы каждые 100 секунд на проект. Вы можете отслеживать свое использование в консоли Google Cloud .
Квота API результатов облачного инструмента
API результатов Cloud Tool поставляется с двумя квотными лимитами: запросы в день на проект и запросы каждые 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, тест может завершиться, не пройдя дальше первого экрана.