Ответ
Переменные окружения (environment variables) — это пары «ключ-значение», доступные процессам в операционной системе. Они используются для динамической конфигурации среды выполнения, хранения путей, параметров и чувствительных данных.
Для QA-инженера они критически важны в следующих сценариях:
- Конфигурация тестовых сред: Установка
BASE_URL,API_ENDPOINTилиBROWSER(например,export BASE_URL=https://staging.example.com). Это позволяет запускать одни и те же тесты против разных окружений (dev, staging, prod) без изменения кода. - Безопасное хранение секретов: Логины, пароли, API-токены и ключи доступа задаются как переменные окружения в CI/CD (например, Jenkins, GitLab CI), а не хранятся в репозитории тестов.
- Управление поведением фреймворков: Например, переменная
NODE_ENV=testможет отключать логгирование или включать специальные плагины в инструментах для тестирования.
Практический пример в командной строке и скрипте:
# Установка переменной в сессии терминала (Linux/macOS)
export TEST_USER="qa_tester"
export HEADLESS="true"
# В Windows (Command Prompt)
set TEST_USER=qa_tester
# Использование в Bash-скрипте для запуска тестов
echo "Запуск тестов для пользователя $TEST_USER в headless-режиме..."
npm test
# Пример в Python-скрипте для автотестов
import os
# Получение значения переменной. Второй аргумент — значение по умолчанию.
base_url = os.getenv('BASE_URL', 'http://localhost:8080')
db_password = os.getenv('DB_PASSWORD') # Секрет, задаётся только в CI/CD
print(f'Тестируем приложение по адресу: {base_url}')
# Если DB_PASSWORD не задана, получим None, что безопаснее, чем "зашитый" пароль в коде.
Итог: Использование переменных окружения делает тестовые сценарии переносимыми, безопасными и легко конфигурируемыми, что является стандартом в современной автоматизации тестирования.