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

Установить Питон 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

Загрузите пакет интерфейса командной строки (CLI) здесь.

Запустить OmniLab ATS

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

mtt start

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

Если доступна более новая версия, вы можете обновить ее до текущей версии. Вы можете проверить Release Notes для последних выпусков.

Для обновления до текущей версии выполните:

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, введите WiFi SSID и опциональный WiFi 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. Чтобы запустить один из этих тестов, перейдите на вкладку Test Suites и нажмите Run test для выбранного теста.

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

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

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

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

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

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

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

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

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

  • Имя — имя набора тестов, который вы хотите запустить.
  • Run Count - Количество раз, которое этот тестовый запуск должен быть выполнен по расписанию. Тестовые запуски планируются с помощью Trade Federation , которая запускает до 20 тестовых запусков параллельно, если есть такая возможность.
  • Max Retry — максимальное количество повторных попыток тестового запуска, если хотя бы один тест не пройден. Обычно устанавливается на 4–6 повторных попыток для полного запуска CTS, чтобы справиться с нестабильными тестами.
  • Queue Timeout - Если тестовый запуск остается в состоянии Queued слишком долго, он автоматически отменяется. Укажите здесь время ожидания перед отменой. Значение по умолчанию - 24 часа.
  • Команда — команда для запуска тестового набора. Здесь можно ввести дополнительные аргументы командной строки. Например, запустите определенный модуль в CTS 8.1 с помощью:

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

    cts --retry 0 -m ShortModuleName
    

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

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

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

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

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

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

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

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

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

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

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

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

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

product:bramble;product:bramble;product:bramble

Поддерживаемые атрибуты:

  • build_id
  • устройство_серийный
  • тип_устройства
  • имя хоста
  • продукт
  • вариант_продукта
  • sim_state

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

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

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

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

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

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

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

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

Установить тестовые ресурсы

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

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

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

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

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

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

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

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

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

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

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

Селектор тестовых ресурсов — поддержка шаблонов Wildcard

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Установить тестовые ресурсы

Добавление тестовых ресурсов в тестовые планы аналогично добавлению их в отдельные тестовые запуски. Подробнее см. в разделе Настройка тестовых ресурсов .

Установить тестовые ресурсы

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

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

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

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

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

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

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

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

Подробности тестового прогона

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

Подробности тестового прогона

Рисунок 27. Подробности тестового запуска.

Статус тестового прогона

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

Статус тестового прогона

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

Состояния тестового прогона:

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

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

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

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

Рисунок 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, нажав Import и выбрав файл конфигурации.

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

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

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

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