Тестовая станция OmniLab Android

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

Настройка OmniLab ATS

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

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

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

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

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

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

Существует два способа установки OmniLab ATS:

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

В Ubuntu 20.04+ программа-установщик устанавливает и настраивает все программы и ресурсы, необходимые для запуска OmniLab ATS.

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

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

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

Установить вручную

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

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

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

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

OmniLab ATS CLI проверен на совместимость с версиями 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

Загрузите пакет интерфейса командной строки (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 Drive). Чтобы аутентифицировать учётную запись сервиса, нажмите «Загрузить ключ учётной записи сервиса» и выберите JSON-файл ключа вашей учётной записи сервиса.

Установить учетную запись службы

Рисунок 2. Настройка учетной записи службы.

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

Изменить учетную запись службы

Рисунок 3. Изменение учетной записи службы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3. Подключите устройство к хост-компьютеру с помощью USB.

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

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

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

Различные состояния устройства:

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

Провести тест

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

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

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

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

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

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

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

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

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

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

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

  • Имя — имя набора тестов, который вы хотите запустить.
  • Количество запусков — количество раз, которое этот тестовый запуск должен быть выполнен по расписанию. Планирование тестовых запусков осуществляется с помощью 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 , а для прошивки устройства — образ сборки.

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

Тестовые ресурсы

Рисунок 14. Тестовые ресурсы.

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

Селектор тестовых ресурсов — веб-URL

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

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

Тестовый селектор ресурсов — Google Drive

Рисунок 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. Настройка тестовых ресурсов.

Посмотреть тестовые прогоны

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

Список запланированных тестовых запусков можно посмотреть на странице «Тестовые запуски». Нажмите « Просмотр» , чтобы увидеть более подробную информацию о тестовом запуске.

Вы также можете отфильтровать список, введя строку в строку фильтра и нажав клавишу 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. Вкладка «Действия устройства».

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

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

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

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

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

    Имя действия устройства

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

  3. Нажмите «Добавить целевой подготовитель» .

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

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

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

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

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

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

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

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

    Рисунок 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 Worker.

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

Политики

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

Тип операции Параметры
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 . Чтобы сообщить об ошибках или предложить свои решения, отправьте отчёт об ошибке . Партнеры должны сообщать об ошибках или предложениях через свои партнёрские каналы.