OmniLab Android Test Station

OmniLab ATS – это инструмент тестирования, который разработчики Android и инженеры по тестированию могут использовать для запуска стандартных наборов тестов Android, таких как Android Compatibility Test Suite (CTS), через пользовательский интерфейс. Этот инструмент представляет собой веб-интерфейс для различных платформ тестирования, таких как Trade Federation (TF) и Google Mobly. Он позволяет запускать CTS и тесты для нескольких устройств с минимальной настройкой, а также устанавливать расписание для непрерывного выполнения тестов.

Введение в OmniLab ATS 2.0

OmniLab ATS 2.0 переносит базовую инфраструктуру выполнения тестов из Trade Federation в OmniLab. Это изменение обеспечивает более надежную и эффективную работу серверной части, сохраняя при этом пользовательский интерфейс и рабочие процессы OmniLab ATS 1.0.

Основные преимущества OmniLab ATS 2.0:

  • Современная инфраструктура. Платформа OmniLab обеспечивает повышенную стабильность и производительность.
  • Плавный переход. Веб-интерфейс и основные рабочие процессы выполнения тестов не изменятся.
  • Готовность к будущему. Интеграция с единой инфраструктурой тестирования Google позволяет быстрее внедрять новые функции.

В OmniLab ATS 2.0 добавлены новые функции, такие как массовое обновление планов тестирования, расширенное распределение устройств и т. д. Следите за обновлениями в примечаниях к выпуску.

Переход на OmniLab ATS 2.0

Чтобы использовать OmniLab ATS 2.0, необходимо обновить станцию до сборки R52 или более поздней версии. Чтобы перейти на новую версию Omnilab ATS 2.0, используйте параметр --force_ats_version 2, а чтобы обновить ее до последней сборки – параметр --force_update с командой mtt start.

mtt start --force_ats_version 2 --force_update

В период перехода рекомендуем использовать тег dogfood, чтобы получить доступ к последней стабильной сборке с функциями OmniLab ATS 2.0:

mtt start --force_ats_version 2 --tag dogfood --force_update

Мы планируем сделать OmniLab ATS 2.0 версией по умолчанию в третьем квартале 2026 года. Мы планируем прекратить поддержку OmniLab ATS 1.0 к концу 2026 года.

Подробную информацию об обновлениях, известных различиях и инструкции по обновлению можно найти в руководстве по обновлению OmniLab ATS 2.0.

Как настроить OmniLab ATS

В этом разделе объясняется, как установить и настроить OmniLab ATS.

OmniLab ATS использует исходный код из следующих источников:

Установить OmniLab ATS

Соблюдайте требования к аппаратному и программному обеспечению для наборов тестов, которые вы запускаете.

Требования к CTS можно найти на сайте source.android.com.

Дополнительных требований к оборудованию для OmniLab ATS нет, но мы рекомендуем использовать требования к хосту CTS в качестве отправной точки.

Установить OmniLab ATS можно двумя способами:

Установка с помощью программы установки

Программа установки поддерживается в Ubuntu 22.04 и более поздних версиях. Установщик устанавливает и настраивает все программы и ресурсы, необходимые для запуска OmniLab ATS.

Чтобы использовать программу установки:

  1. Запустите программу установки:

    curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
    
  2. Чтобы проверить установленную версию OmniLab ATS CLI, выполните команду mtt version.

Установка вручную

Установка Docker
  1. Следуйте инструкциям по установке Docker Community Edition (CE) на компьютер с Linux.

  2. Выполните действия после установки для управления Docker без прав пользователя root.

  3. Чтобы изменения вступили в силу, может потребоваться перезапустить окно терминала или выйти из аккаунта и войти в него снова.

Установите Python 3

Для работы с OmniLab ATS CLI требуется Ubuntu 22.04 или более поздней версии. Интерфейс командной строки проверен на совместимость с Python версий 3.10–3.13.

Чтобы установить Python 3, выполните следующие команды:

sudo apt-get update
sudo apt install python3 python3-distutils

Если вам нужна версия Python 3, не включенная в стандартный дистрибутив, сначала добавьте хранилище для Python 3, выполнив одно из следующих действий:

  • Выполните команду ниже.

    sudo add-apt-repository ppa:deadsnakes/ppa
    
  • Соберите и установите репозиторий из источника.

Чтобы установить определенную версию Python 3 (например, 3.10), выполните следующие команды:

sudo apt-get update
sudo apt install python3.10 python3.10-distutils

Как получить OmniLab ATS CLI

Скачайте пакет интерфейса командной строки (CLI).

Запустить OmniLab ATS

Запустите OmniLab ATS с помощью следующей команды:

mtt start

При первом запуске интерфейс может появиться через несколько минут. В CLI появится URL, по которому можно открыть интерфейс в браузере. По умолчанию используется URL localhost:8000. При необходимости вы можете изменить порт по умолчанию при запуске с помощью флага --port.

Если доступна более новая версия, вы можете обновить приложение. Информацию о последних выпусках можно найти в примечаниях к выпуску.

Чтобы обновить до текущей версии, выполните:

mtt start --force_update

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

mtt stop

Чтобы посмотреть список других команд, используйте:

mtt --help

Как создать резервную копию базы данных и восстановить ее

Чтобы создать резервную копию базы данных OmniLab ATS, остановите приложение и выполните следующую команду, которая сохранит текущую базу данных в TAR-файл с названием mtt-backup.tar в вашем домашнем каталоге:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar cvf /out/mtt-backup.tar ."

Чтобы восстановить его, перед запуском приложения выполните следующую команду:

docker run --rm --mount source=mtt-data,target=/data -v ~:/out ubuntu bash -c "cd /data && tar xvf /out/mtt-backup.tar"

Мастер настройки

После установки и первого запуска OmniLab ATS мастер настройки поможет вам выполнить несколько шагов, чтобы настроить инструмент для вашей среды. Любые изменения, которые вы вносите здесь, можно будет позже перенастроить на странице "Настройки".

Как восстановить конфигурацию из резервной копии

Если у вас есть резервная копия файла конфигурации с другого хоста OmniLab ATS, вы можете загрузить этот файл, нажав кнопку Загрузить файл, чтобы скопировать все конфигурации, измененные на этом хосте.

Восстановить резервную копию конфигурации

Рисунок 1. Восстановление резервной копии конфигурации.

Как настроить сервисный аккаунт по умолчанию

Вы можете настроить сервисный аккаунт, который OmniLab ATS будет использовать по умолчанию при доступе к вашим ресурсам (например, Google Cloud Storage, Google Диску). Чтобы выполнить аутентификацию сервисного аккаунта, нажмите Upload Service Account Key (Загрузить ключ сервисного аккаунта) и выберите JSON-файл ключа сервисного аккаунта.

Настроить сервисный аккаунт

Рисунок 2. Настройка сервисного аккаунта.

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

Изменить сервисный аккаунт

Рисунок 3. Изменение сервисного аккаунта.

Импорт наборов конфигураций

Набор конфигураций – это пакет конфигураций для запуска наборов тестов, включая связанные действия на устройстве и каналы сборки. Наборы конфигураций размещаются в определенном сегменте Google Cloud Storage (GCS). После аутентификации канала сборки GCS с помощью аккаунта Google вы увидите список всех доступных вам наборов конфигураций.

Выберите наборы конфигураций, которые нужно добавить на хост Test Station, и нажмите Import Selected (Импортировать выбранные).

Импорт наборов конфигураций

Рисунок 4. Импорт набора конфигураций.

Включить настройки Wi-Fi

Для некоторых тестов CTS требуется подключение к точке доступа Wi-Fi. Чтобы выбрать сеть Wi-Fi, введите идентификатор SSID и при необходимости предварительный ключ PSK.

Настройки Wi-Fi

Рисунок 5. Настройки точки доступа Wi-Fi.

После завершения работы мастера настройки страница перезагрузится с новыми настройками.

Подключите устройство

Чтобы использовать устройство для тестирования, необходимо включить отладку по USB. Чтобы включить отладку, выполните следующие действия:

  1. Следуйте инструкциям в статье Как включить параметры для разработчиков и отладку.

  2. Если вы планируете использовать тестовые сборки Android с предварительно загруженными специальными ключами ADB, поместите специальные файлы .adb_key в каталог ~/.android/.

    Файлы загружаются автоматически и передаются в ADB, чтобы включить отладку по USB после прошивки устройств с этими сборками.

  3. Подключите устройство к хост-машине через USB.

    Устройство появится на вкладке OmniLab ATS Devices в течение одной минуты после обновления веб-интерфейса. На этой вкладке также можно посмотреть состояние устройств.

    Подключить устройство

    Рисунок 6. Подключение устройства.

Ниже перечислены возможные состояния устройств.

  • Доступно. Устройство подключено и готово к тестированию.
  • Выделено. Устройство подключено и выполняет тест. Каждое устройство может выполнять только один тест за раз, поэтому оно должно завершить текущий тест, прежде чем запускать новый.

Запустить тестирование

Выберите тест

В OmniLab ATS есть набор предварительно настроенных конфигураций CTS. Чтобы запустить один из этих тестов, перейдите на вкладку "Наборы тестов" и нажмите Запустить тест.

Выберите тест

Рисунок 7. Выбор теста.

Чтобы изменить или добавить тесты, ознакомьтесь с разделом Добавление тестов.

Настроить тест

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

Этот шаг можно выполнить, используя значения по умолчанию, но вы можете изменить любой из параметров, например Max Retry (Максимальное количество повторных попыток) и Command (Команда), в соответствии со своими потребностями.

Настроить тест

Рисунок 8. Настройка тестового запуска.

Параметры тестового запуска:

  • Name (Название) – название набора тестов, который вы хотите запустить.
  • Количество запусков. Сколько раз должен быть выполнен этот тестовый запуск по расписанию. Тестовые запуски планируются с помощью Trade Federation. При наличии ресурсов можно выполнять до 20 запусков параллельно.
  • Max Retry – максимальное количество повторных попыток запустить тест, если хотя бы один из них завершился неудачно. Обычно для полного запуска CTS устанавливается 4–6 повторных попыток, чтобы справиться с нестабильными тестами.
  • Тайм-аут очереди. Если запуск теста слишком долго находится в состоянии В очереди, он автоматически отменяется. Укажите, сколько времени должно пройти до отмены. Значение по умолчанию – 24 часа.
  • Command (Команда) – команда для запуска набора тестов. Здесь можно ввести дополнительные аргументы командной строки. Например, чтобы запустить определенный модуль в CTS 8.1, выполните следующую команду:

    cts-suite -m ShortModuleName
    
  • Команда повтора. Команда для повторного запуска набора тестов. Здесь можно добавить дополнительные аргументы командной строки. Например, чтобы повторить только определенный модуль в CTS 8.1, используйте:

    cts --retry 0 -m ShortModuleName
    

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

  • Предыдущий запуск теста. Если вы хотите повторить предыдущий запуск теста:

    • Локальный – если запуск был инициирован на текущем хосте, введите идентификатор тестового запуска, который можно найти в сведениях о нем.

      Предыдущий тестовый запуск на локальном устройстве

      Рисунок 9. Локальный предыдущий запуск теста.

    • Удаленно – если запуск был выполнен на другом хосте, загрузите файл с результатами тестирования. Для этого выберите Удаленно, нажмите Загрузить файл с результатами тестирования и выберите файл из локального хранилища.

      Удалить предыдущий тестовый запуск

      Рисунок 10. Удалить предыдущий запуск теста.

на некоторых устройствах;

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

Выберите устройства.

Рисунок 11. Выбор устройств.

Чтобы выбрать устройства по атрибутам, отличным от серийных номеров, вы можете вручную ввести характеристики устройств. Например, чтобы выбрать три устройства с названием товара bramble, введите следующее:

product:bramble;product:bramble;product:bramble

Поддерживаются следующие атрибуты:

  • build_id
  • device_serial
  • device_type
  • имя хоста
  • товар
  • вариант товара
  • sim_state

Чтобы запустить тест, все выбранные устройства должны быть в состоянии Доступно. При запуске теста они перейдут в состояние Выделено. Пока устройства не освободятся, тестовый запуск будет находиться в состоянии В очереди.

Добавить действия на устройствах

Действия на устройстве – это скрипты, которые можно выполнять перед каждым запуском теста. Некоторые действия, например прошивка и перезагрузка, уже настроены. Подробнее о том, как создать действие на устройстве…

Действия устройства

Рисунок 12. Действия на устройствах.

Чтобы добавить действие с устройством в тестовый запуск, нажмите Добавить действие, установите флажки рядом с нужными действиями и нажмите Добавить действия. Действия на устройствах выполняются последовательно. Вы можете изменить порядок действий, перетаскивая их.

Добавить действия

Рисунок 13. Изменение порядка действий.

Задать тестовые ресурсы

Ресурсы для тестирования – это файлы, необходимые для выполнения теста. Например, для запуска CTS требуется файл android-cts*.zip, а для прошивки устройства – образ сборки.

URL для скачивания ZIP-файла с набором тестов должен по умолчанию вести на Google Диск, ссылки на который предоставляются партнерам. Чтобы выбрать другой файл, нажмите Обзор. Во всплывающем окне можно указать ссылку для скачивания файла, использовать файл из аутентифицированного канала сборки или загрузить файл из локального хранилища.

Ресурсы для тестирования

Рисунок 14. Ресурсы для тестирования.

Ниже показано всплывающее окно для выбора тестового ресурса по URL. Вы можете ввести URL для скачивания и нажать кнопку Выбрать, чтобы подтвердить выбор.

Селектор тестовых ресурсов – URL веб-страницы

Рисунок 15. Селектор тестовых ресурсов – URL.

Если вы загрузили ресурсы на Google Диск, в Google Cloud Storage (GCS) или на другие каналы, вы также можете перейти на вкладку определенного канала и выбрать ресурсы там. Ниже приведен пример выбора ресурса с Google Диска.

Тестовый селектор ресурсов – Google Диск

Рисунок 16. Тестовый селектор ресурсов – Google Диск.

В поле Название файла можно не только выбирать файлы, но и использовать подстановочные знаки. Документацию можно найти здесь.

Тестовый селектор ресурсов – поддержка шаблонов с подстановочными знаками

Рисунок 17. Тестовый селектор ресурсов – поддержка шаблонов с подстановочными знаками.

Вы также можете выбрать файл из локального хранилища OmniLab ATS. Вы можете загружать файлы в это хранилище или напрямую использовать локальные файлы и каталоги.

Тестовый селектор ресурсов – локальное хранилище файлов

Рисунок 18. Тестовый селектор ресурсов – локальное хранилище файлов.

Добавить конфигурации повторного запуска

Вы можете запланировать повторные запуски, которые начнутся после завершения основного запуска и загрузки его результатов, но могут использовать другие устройства, действия или ресурсы.

Добавить конфигурации перезапуска

Рисунок 19. Добавление конфигураций повторного запуска.

Тестовый запуск

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

Начать тестовый запуск

Рисунок 20. Запуск тестового прогона.

Создайте план тестирования

Планы тестирования используются для создания периодических тестовых запусков. Например, запускать CTS 9.0 каждый день в 17:00. Чтобы создать новый план тестирования, нажмите Создать план тестирования.

Создать план тестирования

Рисунок 21. Создание плана тестирования.

Настроить план тестирования

Введите название плана тестирования и добавьте ярлыки. Затем выберите расписание.

  • Вручную. Тестовые запуски будут выполняться, только когда пользователь нажмет Запустить план тестирования на странице со списком планов тестирования.
  • Периодически. Тесты будут автоматически запускаться по выбранному расписанию. Например, можно запланировать запуск теста каждый день в 17:00.
  • Собственное расписание. План тестирования автоматически планирует запуски тестов на основе введенного CRON-выражения. Например, чтобы запланировать запуск теста каждый день в 17:00, используйте выражение cron 0 17 * * *.

Настройка плана тестирования

Рисунок 22. Настройка плана тестирования.

Добавьте наборы тестов

Добавьте наборы тестов, которые вы хотите запланировать в плане тестирования, нажав + Добавить конфигурацию тестового запуска. Выберите набор тестов в раскрывающемся списке Название и нажмите Далее. Затем выберите устройства, на которых хотите запустить тест, и нажмите Добавить конфигурацию. Для каждого плана тестирования можно добавить несколько конфигураций.

Настроить тест

Рисунок 23. Настройка тестового запуска.

Добавить действия на устройствах

Добавьте действия, которые должны выполняться на устройстве перед каждым запуском теста. Подробнее о добавлении действий устройств…

Добавить действия на устройстве

Рисунок 24. Добавление действий на устройствах.

Задать тестовые ресурсы

Добавление тестовых ресурсов в планы тестирования выполняется так же, как и в отдельные тестовые запуски. Подробнее о настройке тестовых ресурсов…

Настроить тестовые ресурсы

Рисунок 25. Настройка тестовых ресурсов.

Просмотр тестовых запусков

Список тестовых запусков

Список запланированных запусков тестов можно посмотреть на странице "Запуски тестов". Чтобы посмотреть подробные сведения о тестовом запуске, нажмите Просмотр.

Вы также можете отфильтровать список, введя строку на панели фильтров и нажав клавишу Ввод. Вы можете использовать несколько фильтров, разделяя их запятыми. Фильтр возвращает все строки, которые содержат точный текст (без совпадения подстрок) в любом столбце, кроме Статус и Создано.

Если фильтр пустой, возвращаются все строки. В настоящее время фильтровать строки с пустыми значениями нельзя.

Список тестовых запусков

Рисунок 26. Список тестовых запусков.

Сведения о тестовом запуске

Здесь вы можете посмотреть подробные сведения о тестовом запуске, например статус, журналы и результаты.

Сведения о тестовом запуске

Рисунок 27. Сведения о тестовом запуске.

Статус тестового запуска

Ход выполнения тестового запуска показан в разделе "Статус". Если есть связанное сообщение, например о ходе скачивания, причине отмены или сообщение об ошибке, оно также будет показано здесь.

Статус тестового запуска

Рисунок 28. Статус тестового запуска.

Возможные статусы:

  • Ожидание. Необходимые ресурсы скачиваются.
  • В очереди. Тест готов к запуску, как только устройство станет доступно.
  • Выполняется. Тест выполняется на выделенном устройстве.
  • Завершено. Тестирование завершено, и его результаты представлены в отчете.
  • Отменено. Тестирование было отменено пользователем или время ожидания истекло при попытке найти доступные устройства.
  • Ошибка. Произошла ошибка, которая помешала выполнить проверку.

Как отменить тестовый запуск

Если тестовый запуск ещё не завершен, вы можете отменить его, нажав Отмена, а затем Да в диалоговом окне подтверждения. Тестовые запуски также автоматически отменяются, если они остаются в состоянии В очереди дольше, чем указано в поле queue_timeout_seconds. Если вы отмените запуск теста в состоянии Выполняется, то отмена может занять несколько минут.

Отменить тестовый запуск

Рисунок 29. Отмена тестового запуска.

Результаты тестового запуска

После завершения тестирования результаты собираются и отображаются. Чтобы посмотреть дополнительные сведения, нажмите на стрелку рядом с нужным запуском. Нажмите Посмотреть выходные файлы, чтобы увидеть собранные артефакты тестирования, например test_result.xml и test_result_failures.html.

Результаты тестирования

Рисунок 30. Результаты тестового запуска.

Вы можете просматривать журналы хоста и Tradefed в реальном времени на вкладке "Журналы".

Журналы тестовых запусков

Рисунок 31. Вкладка "Журналы".

Результаты по отдельным модулям находятся на вкладке "Результаты тестирования".

Вкладка "Результаты тестирования"

Рисунок 32. Вкладка "Результаты тестирования".

Вы можете скачать файлы, используемые в качестве тестовых ресурсов, нажав Открыть на вкладке "Тестовые ресурсы".

Вкладка "Ресурсы для тестирования"

Рисунок 33. Вкладка "Ресурсы для тестирования".

Чтобы посмотреть подробные сведения о тестовом запуске, например create_time, перейдите на вкладку Config (Конфигурация).

Вкладка "Конфигурация тестирования"

Рисунок 34. Вкладка "Конфигурация".

Расширенные функции

Управление файлами конфигурации

OmniLab ATS использует файлы конфигурации, написанные на YAML, для загрузки предопределенных параметров, таких как тесты, каналы сборки и действия устройства. Пример файла конфигурации:

// example_file.yaml
tests:
- id : android.cts.9_0.arm
  name: CTS 9.0 (ARM)
  test_resource_defs:
  - name: android-cts.zip
    default_download_url: https://dl.google.com/dl/android/cts/android-cts-9.0_r7-linux_x86-arm.zip
    test_resource_type: TEST_PACKAGE
  command: cts
  env_vars:
  - name: TF_PATH
    value: ${TF_WORK_DIR}/android-cts/tools:${TF_WORK_DIR}/android-cts/testcases
  - name: LD_LIBRARY_PATH
    value: ${TF_WORK_DIR}/android-cts/lib:${TF_WORK_DIR}/android-cts/lib64
  setup_scripts:
  output_file_patterns:
  - android-cts/logs/latest/.*
  - android-cts/results/latest/.*\.html
  - android-cts/results/latest/compatibility_result\..*
  - android-cts/results/latest/logo.png
  - android-cts/results/latest/test_result.xml
  result_file: test_result.xml
  java_properties:
  - name: CTS_ROOT
    value: ${TF_WORK_DIR}
  context_file_dir: android-cts/results/
  context_file_pattern: '[\d_\.]+\.zip'
  retry_command_line: retry --retry 0
  runner_sharding_args: --shard-count ${TF_SHARD_COUNT}

build_channels:
- id: google_drive
  name: Google Drive
  provider_name: Google Drive

device_actions:
- id: flash
  name: Flash
  test_resource_defs:
  - name: bootloader.img
    test_resource_type: DEVICE_IMAGE
  - name: radio.img
    test_resource_type: DEVICE_IMAGE
  - name: img.zip
    test_resource_type: DEVICE_IMAGE
  tradefed_target_preparers:
  - class_name: com.android.tradefed.targetprep.RunHostCommandTargetPreparer
    option_values:
    - name: work-dir
      values:
      - ${TF_WORK_DIR}
    - name: host-setup-command
      values:
      - adb -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL flash bootloader bootloader.img
      - fastboot -s $SERIAL flash radio radio.img
      - fastboot -s $SERIAL reboot-bootloader
      - fastboot -s $SERIAL -w update img.zip
      - adb -s $SERIAL wait-for-device
    - name: host-cmd-timeout
      values:
      - 10m

После настройки экземпляра OmniLab ATS вы можете поделиться своей конфигурацией с другими пользователями, экспортировав ее в виде файла. Для этого перейдите на страницу "Настройки" и нажмите Экспорт в правом верхнем углу.

Управление файлами конфигурации

Рисунок 35. Управление файлами конфигурации.

После скачивания файла конфигурации поделитесь им с другими пользователями. Чтобы добавить файл конфигурации в экземпляр OmniLab ATS, нужно нажать Import (Импортировать) и выбрать файл.

Создать действие на устройстве

Действия с устройствами используются для автоматизации процесса настройки устройств. Действия – это скрипты, которые выполняются на каждом устройстве перед каждым запуском теста, в том числе перед повторными попытками. Чтобы посмотреть список доступных действий с устройствами, перейдите на страницу настроек и откройте вкладку "Действия с устройствами". Некоторые действия с устройствами, например перезагрузка и прошивка, уже настроены.

Вкладка "Действия на устройстве"

Рисунок 36. Вкладка "Действия на устройствах".

Добавить действие устройства

  1. Нажмите Новое действие на устройстве.

    Кнопка "Новое действие устройства"

    Рисунок 37. Кнопка "Новое действие устройства".

  2. Введите название и описание.

    Название действия на устройстве

    Рисунок 38. Название действия с устройством.

  3. Нажмите Добавить целевого специалиста по подготовке.

  4. Введите полное название класса Target Preparer в Trade Federation, например com.android.tradefed.targetprep.RunHostCommandTargetPreparer.

    Добавить целевого специалиста по подготовке

    Рисунок 39. Добавление целевого специалиста по подготовке налоговой отчетности.

    Список доступных средств подготовки целей можно найти в справочнике com.android.tradefed.targetprep.

    Список целевых составителей

    Рисунок 40. Список целевых специалистов по подготовке.

  5. Добавьте параметры, которые будут использоваться с целевым средством подготовки. Чтобы посмотреть доступные варианты, проверьте исходный код каждого средства подготовки целевых устройств в AOSP: targetprep.

    Пример варианта действия

    Рисунок 41. Пример варианта действия.

  6. Чтобы добавить вариант, нажмите Добавить вариант целевого специалиста по подготовке налоговой отчетности и введите нужные значения.

    Пример команды действия

    Рисунок 42. Пример команды действия.

  7. Определите тестовые ресурсы, необходимые для выполнения действия на устройстве, например сборки образов для прошивки. Чтобы добавить определение ресурса, нажмите Добавить тестовый ресурс и заполните обязательные поля. Если вы знаете, где находятся ваши файлы, вы можете указать URL скачивания по умолчанию, нажав Обзор. Если целевые подготовители принимают каталог в качестве тестового ресурса, выберите Распаковать. Затем укажите относительный целевой каталог во временном рабочем каталоге и названия файлов, которые нужно распаковать. Если названия файлов не указаны, распаковываются все файлы из тестового ресурса.

    Ресурсы для тестирования действий

    Рисунок 43. Ресурсы для тестирования действий.

  8. Нажмите Обновить.

    Действие "Сохранить изменения"

    Рисунок 44. Сохранить изменения.

Управление тестированием

Как изменить тестирование

Чтобы изменить сохраненный тест, перейдите на страницу "Тесты" и нажмите Изменить в строке нужного теста. После изменения тестовой конфигурации нажмите Обновить.

Как изменить тестирование

Рисунок 45. Редактирование теста.

Добавить новый тест

Чтобы добавить новый тест, перейдите на страницу "Тесты" и нажмите Создать тест. Укажите нужную информацию и нажмите Создать.

Создать тест

Рисунок 46. Создание теста.

Как скопировать тест

Рисунок 47. Копирование теста.

Экспорт конфигураций хостов

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

Чтобы экспортировать конфигурации хоста, перейдите на страницу "Настройки" и нажмите Экспорт в правом верхнем углу.

Экспорт конфигураций хостов

Рисунок 48. Экспорт конфигурации хоста.

Чтобы импортировать файл конфигурации хоста, перейдите на страницу настроек и нажмите Импорт в правом верхнем углу.

Импорт конфигураций хостов

Рисунок 49. Импорт конфигурации хоста.

Как использовать локальные файлы и каталоги

Начиная с версии R11, файлы в каталоге $HOME/.ats_storage автоматически доступны в OmniLab ATS. Скопируйте или переместите файл в этот каталог, а затем выберите его на вкладке Локальный файл при планировании тестового запуска.

cp /path/to/file $HOME/.ats_storage

Выбор локального файла

Рисунок 50. Выбор файла из каталога $HOME/.ats_storage.

Вы можете подключить дополнительные каталоги к локальному хранилищу файлов с помощью параметра --mount_local_path.

mtt start --mount_local_path=/path/to/dir1 --mount_local_path=/path/to/dir2:renamed_dir2

Дополнительные подключенные каталоги

Рисунок 51. Дополнительные каталоги, подключенные в локальном хранилище файлов.

Как включить режим нескольких организаторов

В режиме Multi-host пользователи могут использовать один хост контроллера ATS для управления устройствами и тестами на нескольких хостах исполнителей ATS.

Архитектура режима с несколькими хостами

Рисунок 52. Архитектура режима с несколькими хостами.

  1. Чтобы запустить контроллер ATS, используйте следующую команду:

    mtt start --operation_mode=ON_PREMISE
    
  2. Проверьте, доступен ли контроллер по адресу http://${CONTROLLER_HOSTNAME}:8000.

  3. Чтобы запустить рабочие процессы, используйте следующую команду:

    mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
    

Если в вашей сети хосты не могут обмениваться данными друг с другом, следуйте инструкциям по расширенной настройке агента ATS ниже.

  1. Подключите два хоста с помощью туннелей SSH. Выберите порты для основного сервера и файлового сервера, например 9000 и 9006.

    ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
    
  2. Настройте и запустите ATS.

    DOCKER_GATEWAY_IP_ADDRESS=$(ip -4 addr show dev docker0 | grep -Eo 'inet [.0-9]+/' | grep -Eo '[.0-9]+')
    socat tcp-listen:ATS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:ATS_PORT &
    socat tcp-listen:FS_PORT,bind="${DOCKER_GATEWAY_IP_ADDRESS}",reuseaddr,fork tcp-connect:127.0.0.1:FS_PORT &
    mtt start --control_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:ATS_PORT \
                    --control_file_server_url=http://${DOCKER_GATEWAY_IP_ADDRESS}:FS_PORT \
                    --operation_mode=ON_PREMISE
    

Очистка файлов

Очистка файлов – это задание cron, которое выполняется каждый час и удаляет файлы в соответствии с заданными пользователем настройками. В ATS есть две конфигурации по умолчанию, которые позволяют архивировать результаты тестирования и удалять временные файлы. В этом руководстве рассказывается, как настроить правила и конфигурации для эффективного управления файлами.

Правила

Правило определяет операцию, которая будет выполняться с файлами или каталогами, и критерии выбора целей. Доступные операции приведены в таблице ниже.

Тип операцииПараметры
ARCHIVEremove_file: если true, удалите файл после архивирования.
DELETE

Критерии основаны на атрибутах файлов и системной информации. Доступные критерии приведены в таблице ниже.

Тип критерияОписаниеПараметры
LAST_MODIFIED_TIMEФильтрация файлов по дате и времени последнего изменения.ttl: поддерживаются различные форматы времени, например 10m, 2h, 7 days, 4w. Поддерживаемые форматы перечислены в статье pytimeparse.
LAST_ACCESS_TIMEФильтрация файлов по дате и времени последнего доступа.То же, что и LAST_MODIFIED_TIME.
NAME_MATCHФильтрация файлов по названию с помощью регулярного выражения.pattern – регулярное выражение, например [a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}\.zip, чтобы сопоставить ZIP-архивы с результатами.
SYSTEM_AVAILABLE_SPACEЗапускать действия в зависимости от доступного места в системе.threshold – действие, которое выполняется, когда доступное пространство становится меньше порогового значения, например 200(B), 200KB, 200MB, 200GB, 2TB.

Новые правила в отношении приложений для очистки файлов

Рисунок 53. Добавьте новое правило очистки файлов.

Конфигурации

Конфигурация объединяет одно или несколько правил с определенными каталогами. Файлы и каталоги в указанных каталогах обрабатываются на основе заданных правил. Правила применяются в том порядке, в котором они указаны в конфигурации.

Все целевые каталоги должны находиться в каталоге /data. Если в конфигурации указан целевой каталог logs, он интерпретируется как /data/logs.

Изменить конфигурацию очистки файлов

Рисунок 54. Измените конфигурацию средства очистки файлов.

Сбросить

Нажав Сбросить настройки, вы вернете конфигурацию очистки файлов в состояние по умолчанию. Это действие удалит ВСЕ пользовательские элементы.

Сбросить настройки очистки файлов

Рисунок 55. Сбросить настройки очистки файлов.

Поддержка

Отчеты об ошибках

Ваш вклад в OmniLab ATS помогает улучшить разработку инструмента, и мы хотим получить ваш вклад! Подробную информацию о последней версии можно найти в примечаниях к выпуску OmniLab ATS. Чтобы сообщить об ошибке или предложить улучшение, отправьте отчет об ошибке. Партнеры могут сообщать об ошибках и отправлять предложения через партнерские каналы.