Окружение
Иногда результат теста зависит от окружения, в котором он выполняется. В ТестОпс вы можете указать окружение для каждого теста (в формате «ключ-значение») и результаты тестов из разных окружений не будут объединены.
Информация об окружении — часть результата теста, которая может использоваться для фильтрации результата с помощью интерфейса ТестОпс или AQL-запросов.
Примеры
-
При работе с веб-приложением у тестировщика может возникнуть необходимость пройти тест-кейс в разных браузерах. Для этого он может добавить несколько окружений при создании запуска, указав для каждого окружения поле Браузер с нужным значением. ТестОпс создаст новый результат теста для каждого окружения, что позволит работать с результатами по отдельности.
-
В сложных CI-конфигурациях автоматизированные тесты могут выполняться на разных нодах или разных операционных системах. В таких случаях QA-команда может настроить маппинги для переменных окружения, чтобы каждый запуск теста создавал отдельный результат, а не новую попытку запуска того же теста. Это может быть полезно для анализа производительности на разных платформах.
Настройка
1. Добавление переменных окружения
Перед тем, как вы начнете использовать переменные окружения в тест-кейсах вашего проекта (как ручных, так и автоматизированных), их должен добавить администратор вашего инстанса ТестОпс в разделе Администрирование → Окружения. Это нужно для того, чтобы в разных проектах ТестОпс названия переменных окружения были одинаковыми.
2. Настройка маппинга
Этот шаг относится только к автоматизированному тестированию. Пропустите его, если вы используете окружения только для ручных тестов.
Плагины для интеграции с CI-системами и утилита allurectl используют переменные окружения операционной системы, чтобы определить окружение выполнения теста. Подразумевается, что тест при запуске считает нужные переменные и изменит сценарий тестирования (например, запустит указанный браузер вместо браузера по умолчанию).
Для работы этого механизма нужно, чтобы владелец проекта ТестОпс связал переменные, используемые в коде, с переменными окружения, которые были добавлены администратором ТестОпс в предыдущем шаге. Чтобы настроить такие маппинги, используйте раздел Настройки → Окружение.
Маппинг работает в обоих направлениях:
-
Когда вы запускаете джобу из ТестОпс, она передает нужные значения на CI-сервер, где плагин интеграции добавляет их в окружение теста.
-
Когда плагин интеграции или утилита allurectl отправляют результаты теста обратно в ТестОпс, они добавляют к нему полный список переменных окружения теста. Если в этом списке есть переменные, для которых были созданы маппинги, они будут показаны в результатах теста в интерфейсе ТестОпс.
Использование
Запуск тестов в окружениях
По умолчанию, когда вы выбираете тест-кейс и нажимаете Запустить, ТестОпс запускает его один раз: с пустым окружением в случае ручного тест-кейса или с окружением джобы по умолчанию в случае автоматизированного тест-кейса.
В окне запуска тест-кейса вы можете указать одно или несколько окружений, чтобы создать отдельные результаты для каждого указанного окружения. Раздел Окружение в этом окне работает как двухуровневый список: сначала вы добавляете окружение, затем — переменные в это окружение. Например, если вы хотите добавить окружение с несколькими переменными, убедитесь, что вы нажимаете внутреннюю кнопку Добавить, а не внешнюю.
На скриншоте ниже показаны настройки запуска с тремя окружениями. При нажатии Отправить ТестОпс запустит каждый тест-кейс 3 раза (для автоматизированных тестов это означает запуск джобы 3 раза). В примере ниже для запуска были выбраны 5 тест-кейсов, поэтому такой запуск создаст 15 отдельных резуль татов теста.
Загрузка результатов теста с окружениями
При загрузке результатов автоматизированных тестов в новый или существующий запуск вы можете указать переменные окружения в разделе Окружение. Эти переменные будут установлены для всех результатов в текущей загрузке.
Одна загрузка результатов не обязательно должна включать в себя все результаты запуска. Например, вы можете запустить тесты на нескольких машинах и загружать результаты по отдельности для каждой машины в один и тот же запуск, указывая разные значения для переменной Хост.
Настройка переменных по умолчанию для джобы
Когда вы настраиваете джобу, вы можете указать для нее окружение по умолчанию. У каждой переменной окружения есть значение по умолчанию и маппинг для CI-сервера. Когда джоба запускается с CI-сервера, этот маппинг используется для перезаписи значения по умолчанию.
При запуске тестов из ТестОпс (включая запуск тест-планов и джоб напрямую) вы также можете перезаписать значения переменных окружения двумя способами:
-
Если при запуске указать одно окружение, значения из него будут использованы вместо значений переменных по умолчанию для каждой задачи.
-
Если при запуске указать несколько окружений, ТестОпс запустит джобу соответствующее количество раз, используя при каждом запуске другой набор значений переменных.
Обратите внимание, что некоторые интеграции требуют наличия специальной переменной Branch в окружении по умолчанию для каждой джобы. Сверьтесь с инструкцией используемого CI-сервиса в разделе Интеграции с внешними сервисами.