OmniLab ATS — это инструмент тестирования, который разработчики и инженеры по тестированию Android могут использовать для использования пользовательского интерфейса для запуска стандартных наборов тестов Android, таких как набор тестов совместимости Android (CTS) . Этот инструмент действует как веб-интерфейс для различных платформ тестирования, таких как Trade Federation (TF) и Google Mobly , позволяя запускать CTS и тесты на нескольких устройствах на наборе тестовых устройств с минимальной настройкой, а также устанавливать расписание для постоянно запускать тесты.
Настройка 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 Community Edition (CE) на ваш компьютер с Linux.
Следуйте инструкциям после установки, чтобы управлять Docker от имени пользователя без полномочий root .
Возможно, вам придется перезапустить окно терминала или выйти из системы и снова войти в систему, чтобы изменения разрешений вступили в силу.
Установить Питон 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 update
sudo apt install python3 python3-distutils
Чтобы установить конкретную версию Python 3 (например, 3.10), вместо этого выполните следующие команды:
sudo apt-get update
sudo apt install python3.10 python3.10-distutils
Получите интерфейс командной строки OmniLab ATS.
Загрузите пакет интерфейса командной строки (CLI) здесь.
Запустить OmniLab ATS
Запустите OmniLab ATS с помощью следующей команды:
mtt start
При первом запуске пользовательского интерфейса его появление может занять несколько минут. Интерфейс командной строки отображает веб-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 Drive). Чтобы аутентифицировать свою учетную запись службы, нажмите «Загрузить ключ учетной записи службы» и выберите файл ключа JSON своей учетной записи службы.
Рисунок 2. Настройка учетной записи службы.
После успешной аутентификации учетной записи службы адрес электронной почты учетной записи появится в правом верхнем углу страницы. Чтобы изменить учетную запись службы, щелкните имя учетной записи, удалите текущую учетную запись по умолчанию и загрузите новый ключ учетной записи службы.
Рисунок 3. Изменение учетной записи службы.
Импортировать наборы конфигураций
Набор конфигураций — это набор конфигураций для запуска наборов тестов, включая связанные действия с устройствами и каналы сборки. Наборы конфигураций размещаются в определенном сегменте Google Cloud Storage (GCS). После аутентификации канала сборки GCS с помощью вашей учетной записи Google вы увидите список всех доступных вам наборов конфигурации.
Выберите любые наборы конфигурации, которые вы хотите добавить на хост Test Station, и нажмите «Импортировать выбранное» .
Рисунок 4. Импорт набора конфигурации.
Включить настройки Wi-Fi
Для некоторых тестов CTS требуется подключение вашего устройства к точке доступа Wi-Fi. Чтобы выбрать сеть Wi-Fi, введите SSID WiFi и дополнительный WiFi PSK .
Рисунок 5. Настройки точки доступа Wi-Fi.
После завершения работы мастера настройки страница перезагрузится с примененными новыми настройками.
Подключите устройство
Чтобы использовать устройство для тестирования, необходимо включить отладку по USB. Чтобы включить отладку:
Следуйте инструкциям в разделе Включение параметров разработчика и отладки .
Если вы планируете использовать тестовые сборки Android с предварительно загруженными пользовательскими ключами ADB, поместите пользовательские файлы
.adb_key
в каталог~/.android/
.Файлы загружаются автоматически и передаются в ADB для автоматического включения отладки по USB после прошивки устройства для устройств, на которых выполняются эти сборки.
Подключите устройство к хост-компьютеру с помощью USB.
Устройство появится на вкладке «Устройства OmniLab ATS» в течение одной минуты после обновления веб-интерфейса. На этой вкладке также можно просмотреть состояние устройств.
Рисунок 6. Подключение устройства.
Различные состояния устройства:
- Доступно — устройство подключено и готово к запуску теста.
- Выделено — устройство подключено и выполняет тестирование. Каждое устройство может одновременно выполнять только один тест, поэтому устройство должно завершить текущий тест, прежде чем запускать новый.
Запустить тест
Выберите тест
OmniLab ATS поставляется с набором готовых конфигураций CTS. Чтобы запустить один из этих тестов, перейдите на вкладку «Наборы тестов» и нажмите «Выполнить тест» для выбранного теста.
Рисунок 7. Выбор теста.
Чтобы изменить или добавить новые тесты, см . Добавление тестов .
Настроить тестовый запуск
Отредактируйте параметры, которые будут использоваться для этого конкретного тестового запуска. Большинство параметров предварительно заполняются значениями, определенными в выбранной конфигурации теста.
Этот шаг можно выполнить, используя значения по умолчанию, но вы можете изменить любые параметры, такие как Max Retry и Command , в соответствии со своими потребностями.
Рисунок 8. Настройка тестового запуска.
Параметры тестового запуска:
- Имя — имя набора тестов, который вы хотите запустить.
- Количество запусков — количество раз, которое этот тестовый запуск должен выполняться по расписанию. Тестовые запуски планируются с помощью Trade Federation , которая запускает до 20 тестовых запусков параллельно, если для этого есть возможности.
- Максимальное количество повторов — максимальное количество повторных попыток запуска теста, если хотя бы один тест не пройден. Обычно для полного запуска CTS устанавливается значение 4–6 повторов для обработки нестабильных тестов.
- Тайм-аут очереди . Если тестовый запуск остается в состоянии «В очереди» слишком долго, он автоматически отменяется. Укажите здесь время ожидания перед отменой. По умолчанию — 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
- устройство_серийный
- тип_устройства
- имя хоста
- продукт
- Product_variant
- sim_state
Для выполнения тестового запуска все выбранные устройства должны находиться в состоянии «Доступно» , и все они переходят в состояние «Выделено» при выполнении тестового запуска. Тестовый запуск находится в состоянии «В очереди» и ожидает доступности устройств.
Добавить действия с устройством
Действия устройства — это сценарии, которые можно выполнять перед каждым запуском теста. Некоторые действия устройства уже настроены, например перепрошивка и перезагрузка. Чтобы создать новые действия с устройством, см. раздел «Создание нового действия с устройством» .
Рисунок 12. Действия устройства.
Чтобы добавить действие устройства в тестовый запуск, нажмите «Добавить новое действие» , установите флажки для добавляемых действий и нажмите «Добавить действия» . Действия устройства выполняются последовательно. Вы можете изменить порядок действий, перетаскивая их.
Рисунок 13. Изменение порядка действий.
Установить тестовые ресурсы
Тестовые ресурсы — это файлы, необходимые для выполнения тестового запуска. Например, для запуска CTS требуется файл android-cts*.zip
, а для прошивки устройства необходимо предоставить образ сборки.
URL-адрес загрузки ZIP-файла набора тестов по умолчанию должен соответствовать ссылкам на Google Диск, предоставленным партнерам. Вы можете выбрать другой файл, нажав «Обзор» . Во всплывающем окне вы можете ввести ссылку для скачивания файла, использовать файл из проверенного канала сборки или загрузить файл для использования из локального хранилища.
Рисунок 14. Тестовые ресурсы.
Ниже расположено всплывающее окно выбора тестового ресурса по URL-адресу. Вы можете ввести ссылку URL-адреса загрузки и нажать кнопку «Выбрать», чтобы подтвердить выбор.
Рисунок 15. Выбор тестового ресурса — URL-адрес веб-сайта.
Если вы загрузили ресурсы в Google Grive, Google Cloud Storage (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 . Вы можете использовать несколько фильтров, разделяя их запятой. Фильтр возвращает все строки, содержащие точный текст (без совпадений подстроки) в любом столбце, за исключением Status и Created .
Пустой фильтр возвращает все строки. В настоящее время нет возможности фильтровать строки с пустыми значениями.
Рисунок 26. Список тестовых запусков.
Подробности тестового запуска
Здесь можно просмотреть подробную информацию о выполнении теста, например состояние, журналы и результаты.
Рисунок 27. Подробности тестового запуска.
Статус тестового запуска
Ход выполнения теста отображается в разделе «Состояние». Если есть связанное сообщение, например о ходе загрузки, причине отмены или сообщении об ошибке, оно также отображается здесь.
Рисунок 28. Статус тестового запуска.
Состояния тестового запуска:
- Ожидание — необходимые ресурсы загружаются.
- В очереди — тест готов к запуску, когда устройство станет доступным.
- Выполняется — тест выполняется на выделенном устройстве.
- Завершено — тест завершен, и о его результатах сообщается.
- Отменено — тест был отменен пользователем или время ожидания истекло при попытке найти доступные устройства.
- Ошибка — произошла ошибка, не позволившая запуску теста.
Отменить тестовый запуск
Если тестовый запуск не завершен, вы можете отменить его, нажав «Отмена» , а затем нажав «Да» в диалоговом окне подтверждения. Тестовые запуски также автоматически отменяются, если они остаются в состоянии «В очереди» дольше, чем указано в поле «queue_timeout_секунды» . Отмена тестового запуска в состоянии «Выполняется» может занять несколько минут, чтобы вступить в силу.
Рисунок 29. Отмена тестового запуска.
Результаты тестового запуска
После завершения тестового запуска результаты собираются и отображаются. Вы можете просмотреть дополнительную информацию, щелкнув стрелку для каждого запуска. Нажмите «Просмотреть выходные файлы», чтобы просмотреть собранные артефакты теста, такие как test_result.xml
и test_result_failures.html
.
Рисунок 30. Результаты тестового запуска.
Вы можете просмотреть журналы текущего хоста и Tradefed на вкладке «Журналы».
Рисунок 31. Вкладка Журналы.
Результаты по отдельным модулям находятся на вкладке «Результаты теста».
Рисунок 32. Вкладка «Результаты теста».
Вы можете загрузить файлы, используемые в качестве тестовых ресурсов, нажав «Открыть» на вкладке «Тестовые ресурсы».
Рисунок 33. Вкладка «Ресурсы для тестирования».
Чтобы просмотреть подробную информацию о тестовом запуске, например create_time , перейдите на вкладку «Конфигурация».
Рисунок 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. Название действия устройства.
Нажмите «Добавить целевой подготовительный модуль» .
Введите полное имя класса Готовителя целей Торговой федерации , например,
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.
Соедините два хоста с помощью SSH-туннелей. Выберите порты для основного и файлового сервера, например 9000 и 9006.
ssh -L ATS_PORT:localhost:8000 -L FS_PORT:localhost:8006 CONTROLLER_HOSTNAME
Настройте и запустите АТС.
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 для соответствия результат молнии. |
SYSTEM_AVAILABLE_SPACE | Запускайте действия в зависимости от доступного места в системе. | threshold : запускает действие, когда доступное пространство падает ниже порогового значения, например 200 (B), 200KB , 200MB , 200GB , 2TB . |
Рисунок 53. Добавьте новую политику очистки файлов.
Конфиги
Конфигурация объединяет одну или несколько политик с определенными каталогами. Файлы и каталоги внутри указанных каталогов обрабатываются на основе определенных политик. Политики применяются в том порядке, в котором они указаны в конфигурации.
Все целевые каталоги должны находиться в каталоге /data
. Если в вашей конфигурации целевой каталог указан как logs
, он интерпретируется как /data/logs
.
Рисунок 54. Отредактируйте конфигурацию очистки файлов.
Перезагрузить
Нажатие кнопки «Сбросить настройки» возвращает конфигурацию очистки файлов к состоянию по умолчанию. Это действие удаляет ВСЕ пользовательские элементы.
Рисунок 55. Сброс настроек очистки файлов.
Поддерживать
Отчеты об ошибках
Ваш вклад в OmniLab ATS помогает улучшить разработку этого инструмента, и нам нужен ваш вклад! Подробные сведения о последней версии см. в примечаниях к выпуску OmniLab ATS . Чтобы сообщить об ошибках или предложить предложения, отправьте отчет об ошибке . Партнеры должны сообщать об ошибках или предложениях, используя свои партнерские каналы.