Начните работу с Firebase Test Lab для iOS

Firebase Test Lab lets you quality test your app on a range of devices and configurations. This guide provides an overview of Test Lab 's key concepts, iOS offerings, and instructions on how to start testing.

Информацию о квотах и ​​тарифных планах Test Lab см. в разделе «Использование, квоты и цены» .

Key concepts and terms

Когда вы запускаете тест или набор тестовых случаев для выбранных вами устройств и конфигураций, Test Lab выполняет тест для вашего приложения в пакетном режиме, а затем отображает результаты в виде тестовой матрицы .

Количество устройств × Количество выполненных тестов = Матрица тестирования

Устройство
A physical or virtual device (Android only) you run a test on, such as a phone, tablet, or wearable device. Devices in a test matrix are identified by device model, OS version, screen orientation, and locale (also known as geography and language settings).
Test, test execution
Тест (или набор тестовых случаев), который необходимо выполнить на устройстве. Вы можете запускать один тест для каждого устройства или, при желании, разделить тест и запустить его тестовые случаи на разных устройствах.
Test matrix
Содержит статусы и результаты выполнения тестов. Если какой-либо тест в матрице завершается с ошибкой, то вся матрица завершается с ошибкой.

Шаг 1 : Подготовьте свой тест для загрузки в Test Lab

В Test Lab можно запустить следующие тесты. Обратите внимание, что все типы тестов могут выполняться максимум 45 минут на физических устройствах, и любое необработанное исключение приведет к сбою теста.

  • XCTest (включая XCUITests) : модульный тест, написанный вами с использованием фреймворка XCTest . Инструкции по изменению XCTest для запуска в Test Lab см. в разделе « Создание XCTest» .

  • Robo test : An automated test that analyzes your app's UI and then explores it methodically by simulating user activities, without requiring you to write any code. Visit About Robo tests for more information.

  • Game Loop test : A test that uses a "demo mode" to simulate player actions in gaming apps. This is a fast and scalable way to verify that your game performs well for users. When you choose to run a Game Loop test, you can:

    • Write tests native to your game engine.

    • Избегайте написания одного и того же кода для разных пользовательских интерфейсов или фреймворков тестирования.

    • При желании можно создать несколько циклов для выполнения в рамках одного тестового запуска. Также можно упорядочить циклы с помощью меток, чтобы отслеживать их и повторно запускать определенные циклы.

    Посетите раздел «Запуск теста игрового цикла» , чтобы получить инструкции по запуску теста в Test Lab .

Step 2 : Choose a tool to run your test

Для проведения теста вы можете выбрать следующие инструменты:

  • Консоль Firebase позволяет загрузить приложение и начать тестирование из любого места. Инструкции по использованию этого инструмента см. в разделе «Тестирование с помощью консоли Firebase .

  • The gcloud command line interface (CLI) enables you to run tests from the command line interactively, and is also well suited for scripting as part of your automated build and testing process. See Test with the gcloud CLI for instructions on using this tool.

  • Перед тестированием на реальных устройствах запустите тест локально на симуляторе, чтобы убедиться, что он работает должным образом. Инструкции см. в разделе «Локальное тестирование» .

Step 3 : Specify testing devices

С помощью Test Lab вы можете запускать тесты для своего приложения на широком спектре устройств и моделей iOS, размещенных в центре обработки данных Google. Подробнее см. раздел «Доступные устройства».

Step 4 : Review test results

Независимо от способа запуска тестов, все результаты ваших тестов обрабатываются Test Lab и доступны для просмотра онлайн.

The test result summary is automatically stored and can be viewed in the Firebase console. It contains the most relevant data for your test, including test case-specific videos, screenshots, the number of tests that passed, failed, or got flaky results, and more.

The raw test results contain test logs and app failure details, and is automatically stored in a Google Cloud bucket. If you specify a bucket, you are responsible for the cost of the storage. If you don't specify a bucket, Test Lab creates one for you at no cost.

Для получения более подробной информации см. раздел «Анализ результатов Firebase Test Lab .

Device cleanup

Google takes the security of your app data very seriously. We follow industry-standard best practices to remove app data and reset system settings for physical devices after every test run to ensure that they are ready to run new tests. For devices that we can flash with a custom recovery image, we go one step further by flashing these devices between test runs.

Для виртуальных устройств, используемых в Test Lab , экземпляры устройств удаляются после их использования, поэтому каждый запуск теста использует новый экземпляр виртуального устройства.


Предоставление устройствам Test Lab доступа к частным серверным системам.

Some mobile apps need to communicate with private backend services to function correctly during testing. If your backend servers are protected by firewall rules, you can allow access for Test Lab 's physical and virtual devices by using the IP address blocks below to open routes through your firewall.

Mobile advertising

Test Lab предоставляет масштабируемую инфраструктуру для автоматизации тестирования приложений, и, к сожалению, эта возможность может быть использована злонамеренными приложениями, предназначенными для получения мошеннического дохода от рекламы.

To mitigate this issue:

  • If you use or work with third-party digital advertising providers (for example, ad networks or demand-side platforms), you're recommended to use test ads rather than real ads during app development and testing.

  • If you must use real ads in your test, notify the digital advertising providers you work with to filter out revenues and all corresponding traffic generated from Test Lab by using the IP address blocks below . You don't need to notify Google-owned ad providers; Test Lab takes care of that for you.

IP addresses used by Test Lab devices

All network traffic generated by Test Lab devices originates from the following IP address blocks . You can also access this list by using the gcloud beta firebase test ip-blocks list command in the gcloud CLI. The list is updated on average once a year.

Platform and device type CIDR IP address block
Физические устройства Android и iOS, виртуальные устройства Arm.

70.32.128.0/19 (added 02-2022)

108.177.6.0/23

108.177.18.192/26 (added 02-2022)

108.177.29.64/27 (expanded 02-2022)

108.177.31.160/27 (added 02-2022)

199.36.156.8/29 (added 02-2022)

199.36.156.16/28 (added 02-2022)

209.85.131.0/27 (added 02-2022)

2001:4860:1008::/48 (added 02-2022)

2001:4860:1018::/48 (added 02-2022)

2001:4860:1019::/48 (добавлено 02-2022)

2001:4860:1020::/48 (добавлено 02-2022)

2001:4860:1022::/48 (добавлено 02-2022)

2001:4860:101d::/48 (добавлено 10-2025)

2001:4860:101e::/48 (added 10-2025)

2001:4860:1031::/48 (added 10-2025)

70.32.128.48/28 (added 04-2024)

70.32.150.192/27 (added 09-2025)

108.177.6.0/27 (added 09-2025)

108.177.24.160/27 (добавлено 09-2025)

108.177.29.0/27 (added 09-2025)

108.177.25.128/27 (added 05-2026)

108.177.26.128/26 (добавлено 05-2026)

108.177.29.192/26 (added 05-2026)

172.217.120.64/26 (добавлено 05-2026)

172.217.120.128/26 (добавлено 05-2026)

2001:4860:1037::/48 (добавлено 05-2026)

2001:4860:1038::/48 (добавлено 05-2026)

2001:4860:103a::/48 (добавлено 05-2026)

Виртуальные устройства Android (не Arm)

34.68.194.64/29 (добавлено 11-2019)

34.69.234.64/29 (добавлено 11-2019)

34.73.34.72/29 (добавлено 11-2019)

34.73.178.72/29 (added 11-2019)

34.74.10.72/29 (добавлено 02-2022)

34.136.2.136/29 (добавлено 02-2022)

34.136.50.136/29 (добавлено 02-2022)

34.145.234.144/29 (добавлено 02-2022)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27 (добавлено 7-2019)

35.245.243.240/29 (добавлено 02-2022)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29

Блоки IP-адресов устройств больше не используются

74.125.122.32/29 (удалено 02-2022)

216.239.44.24/29 (удалено 02-2022)