Перейти к основному содержимому

Окружение

Иногда результат теста зависит от окружения, в котором он выполняется. В ТестОпс вы можете указать окружение для каждого теста (в формате «ключ-значение») и результаты тестов из разных окружений не будут объединены.

Информация об окружении — часть результата теста, которая может использоваться для фильтрации результата с помощью интерфейса ТестОпс или AQL-запросов.

Примеры

  • При работе с веб-приложением у тестировщика может возникнуть необходимость пройти тест-кейс в разных браузерах. Для этого он может добавить несколько окружений при создании запуска, указав для каждого окружения поле Браузер с нужным значением. ТестОпс создаст новый результат теста для каждого окружения, что позволит работать с результатами по отдельности.

  • В сложных CI-конфигурациях автоматизированные тесты могут выполняться на разных нодах или разных операционных системах. В таких случаях QA-команда может настроить маппинги для переменных окружения, чтобы каждый запуск теста создавал отдельный результат, а не новую попытку запуска того же теста. Это может быть полезно для анализа производительности на разных платформах.

Настройка

1. Добавление переменных окружения

Перед тем, как вы начнете использовать переменные окружения в тест-кейсах вашего проекта (как ручных, так и автоматизированных), их должен добавить администратор вашего инстанса ТестОпс в разделе АдминистрированиеОкружения. Это нужно для того, чтобы в разных проектах ТестОпс названия переменных окружения были одинаковыми.

Новые переменные окружения добавляются в панели администрирования.

2. Настройка маппинга

Примечание

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

Плагины для интеграции с CI-системами и утилита allurectl используют переменные окружения операционной системы, чтобы определить окружение выполнения теста. Подразумевается, что тест при запуске считает нужные переменные и изменит сценарий тестирования (например, запустит указанный браузер вместо браузера по умолчанию).

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

Маппинг работает в обоих направлениях:

  • Когда вы запускаете джобу из ТестОпс, она передает нужные значения на CI-сервер, где плагин интеграции добавляет их в окружение теста.

  • Когда плагин интеграции или утилита allurectl отправляют результаты теста обратно в ТестОпс, они добавляют к нему полный список переменных окружения теста. Если в этом списке есть переменные, для которых были созданы маппинги, они будут показаны в результатах теста в интерфейсе ТестОпс.

Маппинг переменных окружения можно найти в настройках проекта.

Использование

Запуск тестов в окружениях

По умолчанию, когда вы выбираете тест-кейс и нажимаете Запустить, ТестОпс запускает его один раз: с пустым окружением в случае ручного тест-кейса или с окружением джобы по умолчанию в случае автоматизированного тест-кейса.

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

На скриншоте ниже показаны настройки запуска с тремя окружениями. При нажатии Отправить ТестОпс запустит каждый тест-кейс 3 раза (для автоматизированных тестов это означает запуск джобы 3 раза). В примере ниже для запуска были выбраны 5 тест-кейсов, поэтому такой запуск создаст 15 отдельных результатов теста.

Для одного запуска можно указать несколько окружений.

Загрузка результатов теста с окружениями

При загрузке результатов автоматизированных тестов в новый или существующий запуск вы можете указать переменные окружения в разделе Окружение. Эти переменные будут установлены для всех результатов в текущей загрузке.

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

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

Настройка переменных по умолчанию для джобы

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

При запуске тестов из ТестОпс (включая запуск тест-планов и джоб напрямую) вы также можете перезаписать значения переменных окружения двумя способами:

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

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

Обратите внимание, что некоторые интеграции требуют наличия специальной переменной Branch в окружении по умолчанию для каждой джобы. Сверьтесь с инструкцией используемого CI-сервиса в разделе Интеграции с внешними сервисами.

Окружения можно редактировать в настройках джобы.