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, добавьте флаг --force_ats_version 2 к команде mtt start :
mtt start --force_ats_version 2
В период миграции мы рекомендуем использовать тег 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
- Исходный код кластера TradeFed
Установите OmniLab ATS.
Соблюдайте все требования к аппаратному и программному обеспечению для запускаемых вами наборов тестов.
Требования к CTS можно найти на сайте source.android.com .
Для OmniLab ATS не требуется дополнительного оборудования, но мы рекомендуем использовать требования к хосту CTS в качестве отправной точки.
Существует два способа установки OmniLab ATS:
- Запустите программу установки .
- Установите его вручную , что потребует установки множества программ и ресурсов.
Установите с помощью программы установки.
В Ubuntu 20.04 и более поздних версиях программа установки устанавливает и настраивает все программы и ресурсы, необходимые для работы OmniLab ATS.
Для использования программы установки:
Запустите программу установки:
curl https://storage.googleapis.com/android-mtt.appspot.com/prod/install.sh | bash
Запустите команду
mtt version, чтобы проверить установленную версию OmniLab ATS CLI.
Установить вручную
Установите Docker.
Следуйте инструкциям по установке Docker Community Edition (CE) на ваш компьютер под управлением Linux.
Возможно, вам потребуется перезапустить окно терминала или выйти из системы и войти снова, чтобы изменения прав доступа вступили в силу.
Установите Python 3.
Интерфейс командной строки OmniLab ATS проверен на совместимость с версиями Python от 3.7 до 3.11.
Для Ubuntu 16.04 и более ранних версий сначала добавьте репозиторий Python 3, выполнив одно из следующих действий:
Выполните эту команду:
sudo add-apt-repository ppa:deadsnakes/ppa
Соберите и установите репозиторий из исходного кода .
Для установки Python 3 выполните следующие команды:
sudo apt-get updatesudo apt install python3 python3-distutils
Для установки определенной версии Python 3 (например, 3.10) выполните следующие команды:
sudo apt-get updatesudo apt install python3.10 python3.10-distutils
Получите интерфейс командной строки OmniLab ATS.
Скачать пакет интерфейса командной строки (CLI) можно здесь.
Запуск OmniLab ATS
Запустите OmniLab ATS с помощью следующей команды:
mtt start
При первом запуске пользовательского интерфейса может потребоваться несколько минут для его отображения. Интерфейс командной строки отображает веб-адрес для доступа к интерфейсу в браузере. По умолчанию веб-адрес — 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 Drive). Для аутентификации вашей учетной записи службы нажмите «Загрузить ключ учетной записи службы» и выберите файл ключа JSON вашей учетной записи службы.

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

Рисунок 3. Изменение учетной записи службы.
Импорт наборов конфигурации
Набор конфигураций — это пакет настроек для запуска тестовых наборов, включая соответствующие действия с устройством и каналы сборки. Наборы конфигураций размещаются в определенном сегменте Google Cloud Storage (GCS). После аутентификации канала сборки GCS с помощью вашей учетной записи Google вы увидите список всех доступных вам наборов конфигураций.
Выберите любые наборы конфигураций, которые вы хотите добавить на свой хост тестовой станции, и нажмите «Импортировать выбранные» .

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

Рисунок 5. Настройки точки доступа Wi-Fi.
После завершения работы мастера настройки страница перезагружается, и новые параметры уже применены.
Подключите устройство
Для использования устройства в тестовых целях необходимо включить отладку по USB. Чтобы включить отладку:
Следуйте инструкциям в разделе «Включение параметров разработчика и отладки» .
Если вы планируете использовать тестовые сборки Android с предварительно загруженными пользовательскими ключами ADB, поместите пользовательские файлы
.adb_keyв каталог~/.android/.Файлы загружаются автоматически и передаются в ADB для автоматического включения отладки по USB после прошивки устройства, работающего на этих сборках.
Подключите устройство к компьютеру с помощью USB-кабеля.
Устройство отобразится на вкладке «Устройства OmniLab ATS» в течение одной минуты после обновления веб-интерфейса. На этой же вкладке можно просмотреть состояние устройств.

Рисунок 6. Подключение устройства.
Различные состояния устройства следующие:
- Доступно — устройство подключено и готово к проведению теста.
- Выделено — устройство подключено и выполняет тестирование. Каждое устройство может выполнять только один тест одновременно, поэтому устройство должно завершить текущий тест, прежде чем запускать новый.
Провести тест
Выберите тест
OmniLab ATS поставляется с набором предварительно настроенных конфигураций CTS. Чтобы запустить один из этих тестов, перейдите на вкладку «Наборы тестов» и нажмите «Запустить тест» для выбранного теста.

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

Рисунок 8. Настройка тестового запуска.
Параметры тестового запуска:
- Name - Название набора тестов, который вы хотите запустить.
- Количество запусков — число раз, которое этот тестовый запуск должен быть выполнен по расписанию. Тестовые запуски планируются с помощью Trade Federation , которая запускает до 20 тестовых запусков параллельно, если позволяет пропускная способность.
- Max Retry — максимальное количество попыток повторного запуска теста, если хотя бы один тест не пройден. Обычно это значение устанавливается на 4–6 попыток для полного запуска CTS, чтобы справиться с нестабильными тестами.
- Истекло время ожидания в очереди — если тестовый запуск слишком долго находится в состоянии «В очереди» , он автоматически отменяется. Укажите здесь время ожидания перед отменой. По умолчанию — 24 часа.
Команда — команда для запуска набора тестов. Здесь можно ввести дополнительные аргументы командной строки. Например, для запуска определенного модуля в CTS 8.1 используйте:
cts-suite -m ShortModuleNameКоманда повторной попытки — команда для повторной попытки выполнения набора тестов. Здесь можно добавить дополнительные аргументы командной строки. Например, чтобы повторить только определенный модуль в CTS 8.1, используйте:
cts --retry 0 -m ShortModuleNameАргументы для повторной попытки могут отличаться от тех, которые доступны при выполнении первоначальной команды, поэтому проверьте поддерживаемые параметры на официальном сайте для выбранного набора тестов.
Предыдущий запуск теста — Если вы хотите повторно запустить предыдущий запуск теста:
Локальный запуск — Если запуск был начат на текущем хосте, введите идентификатор тестового запуска, отображаемый при просмотре сведений о тестовом запуске.

Рисунок 9. Предыдущий локальный тестовый запуск.
Удаленный доступ — Если запуск был выполнен на другом хосте, загрузите файл с результатами теста, выбрав «Удаленный доступ» , нажав «Загрузить файл с результатами теста» и выбрав файл из локального хранилища.

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

Рисунок 11. Выбор устройств.
Для выбора устройств по атрибутам, отличным от серийных номеров, можно вручную ввести «Характеристики устройства». Например, чтобы выбрать 3 устройства с названием продукта «bramble», введите следующее:
product:bramble;product:bramble;product:bramble
Поддерживаемые атрибуты:
- build_id
- device_serial
- тип_устройства
- имя хоста
- продукт
- вариант продукта
- sim_state
Для выполнения теста все выбранные устройства должны находиться в состоянии «Доступно» , и после запуска теста все они переходят в состояние «Выделено» . Тест находится в состоянии «В очереди» , пока ожидает, когда устройства станут доступны.
Добавить действия устройства
Действия устройства — это скрипты, которые можно выполнить перед каждым запуском теста. Некоторые действия устройства уже настроены, например, прошивка и перезагрузка. Чтобы создать новые действия устройства, см. раздел «Создание нового действия устройства» .

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

Рисунок 13. Действия по перестановке.
Установить тестовые ресурсы
Тестовые ресурсы — это файлы, необходимые для выполнения тестового запуска. Например, для запуска CTS требуется файл android-cts*.zip , а для прошивки устройства необходимо предоставить образ сборки.
Ссылка для скачивания ZIP-архива с набором тестов по умолчанию должна соответствовать ссылкам Google Drive, предоставленным партнерам. Вы можете выбрать другой файл, нажав кнопку «Обзор» . Во всплывающем окне вы можете ввести ссылку для скачивания файла, использовать файл из авторизованного канала сборки или загрузить файл из локального хранилища.

Рисунок 14. Тестовые ресурсы.
Ниже представлено всплывающее окно для выбора тестового ресурса по веб-адресу. Вы можете ввести ссылку для скачивания и нажать кнопку «Выбрать» для подтверждения выбора.

Рисунок 15. Селектор тестовых ресурсов — веб-URL.
Если вы загрузили ресурсы в Google Диск, Google Облачное Хранилище (GCS) или другие каналы, вы также можете перейти на вкладку конкретного канала и выбрать ресурсы там. Вот пример выбора ресурса из Google Диска.

Рисунок 16. Инструмент выбора тестовых ресурсов — Google Drive.
Помимо выбора файлов, в поле «Имя файла» также поддерживаются символы-заменители. Документацию можно найти здесь .

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

Рисунок 18. Селектор тестовых ресурсов — локальное хранилище файлов.
Добавить конфигурации повторного запуска
Вы можете запланировать повторные запуски, которые начнутся после завершения основного запуска и загрузят его результаты, но при этом могут использовать другие устройства, действия или ресурсы.

Рисунок 19. Добавление конфигураций повторного запуска.
Запустить тестовый запуск
После ввода необходимой для тестирования информации нажмите кнопку «Начать тестирование» . Если вся информация верна, тестирование начнётся, и вы будете перенаправлены на страницу для просмотра подробностей и хода выполнения теста.

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

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

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

Рисунок 23. Настройка тестового запуска.
Добавить действия устройства
Добавьте действия устройства, которые должны выполняться перед каждым запуском теста. Дополнительные сведения см. в разделе «Добавление действий устройства» .

Рисунок 24. Добавление действий устройства.
Установить тестовые ресурсы
Добавление тестовых ресурсов в планы тестирования аналогично их добавлению в отдельные тестовые запуски. Дополнительные сведения см. в разделе «Настройка тестовых ресурсов» .

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

Рисунок 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, нажав кнопку «Импорт» и выбрав файл конфигурации.
Создать новое устройство (действие)
Действия устройства используются для автоматизации процесса настройки устройства. Действия представляют собой скрипты, выполняемые на каждом устройстве, на котором запускается тест, перед каждым запуском теста, в том числе перед повторными попытками. Чтобы просмотреть список доступных действий устройства, перейдите на страницу «Настройки» и нажмите вкладку «Действия устройства». Некоторые действия устройства уже настроены, например, перезагрузка и прошивка.

Рисунок 36. Вкладка «Действия с устройством».
Добавить новое устройство
Нажмите кнопку "Создать устройство" .

Рисунок 37. Кнопка действия нового устройства.
Введите название и описание.

Рисунок 38. Название действия устройства.
Нажмите «Добавить средство подготовки целевых объектов» .
Введите полное имя класса Trade Federation Target Preparer, например,
com.android.tradefed.targetprep.RunHostCommandTargetPreparer.
Рисунок 39. Добавление целевого подготовителя.
Список доступных инструментов подготовки целевых значений можно найти в справочнике com.android.tradefed.targetprep .

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

Рисунок 41. Пример варианта действия.
Чтобы добавить опцию, нажмите «Добавить опцию подготовки целевого объекта» и введите необходимые значения.

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

Рисунок 43. Ресурсы для тестирования действий.
Нажмите «Обновить» .

Рисунок 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. Дополнительные каталоги, смонтированные в локальном файловом хранилище.
Включить многохостовый режим
В многохостовом режиме пользователи могут использовать один контроллер ATS для управления устройствами и тестами на нескольких рабочих хостах ATS.

Рисунок 52. Архитектура многохостового режима.
Для запуска контроллера ATS используйте следующую команду:
mtt start --operation_mode=ON_PREMISEПроверьте, доступен ли контроллер по адресу
http://${CONTROLLER_HOSTNAME}:8000.Для запуска рабочих процессов используйте следующую команду:
mtt start --control_server_url=http://CONTROLLER_HOSTNAME:8000 --operation_mode=ON_PREMISE
Если ваша сеть не позволяет хостам взаимодействовать друг с другом, вам необходимо следовать более сложным инструкциям по настройке, приведенным ниже, в ATS Worker.
Соедините два хоста с помощью SSH-туннелей. Выберите порты для основного и файлового серверов, например, 9000 и 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAMEНастройте и запустите 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 имеет две конфигурации по умолчанию: архивирование результатов тестовых запусков и удаление временных файлов. В этом руководстве объясняется, как настроить политики и конфигурации для эффективного управления файлами.
Политики
Политика определяет операцию, которая должна быть выполнена над файлами или каталогами, а также критерии выбора целей. Доступные операции показаны в таблице:
| Тип операции | Параметры |
|---|---|
ARCHIVE | remove_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 (Б), 200KB , 200MB , 200GB , 2TB . |

Рисунок 53. Добавьте новую политику очистки файлов.
Конфигурации
Конфигурационный файл объединяет одну или несколько политик с определенными каталогами. Файлы и каталоги в указанных каталогах обрабатываются в соответствии с определенными политиками. Политики применяются в том порядке, в котором они указаны в конфигурационном файле.
Все целевые каталоги должны располагаться в каталоге /data . Если в вашей конфигурации целевой каталог указан как logs , он интерпретируется как /data/logs .

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

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