Ответ
В файлах конфигурации тестовой среды (типа config.test.js, test.properties, pytest.ini) я храню все настройки, которые отличаются от продакшена и нужны для изолированного и повторяемого запуска автотестов.
Типичное содержимое такого файла:
- URL и эндпоинты: Адреса тестовых стендов, mock-серверов или локальных инстансов.
- Учётные данные: Логины, пароли, API-ключи для тестовых пользователей и сервисов. Важно: Никогда не храню реальные пароли, только тестовые, а сам файл добавляю в
.gitignore. В CI/CD используются переменные окружения. - Параметры подключения к тестовым базам данных:
- Настройки фреймворка и таймауты: Время ожидания элементов, путь к драйверам браузеров, уровень логирования.
- Флаги и переключатели: Например, флаг для запуска в headless-режиме или выбора браузера.
Пример config.test.json для проекта на Node.js + Playwright:
{
"baseUrl": "https://staging.example.com",
"apiUrl": "https://api.staging.example.com/v1",
"users": {
"admin": {
"login": "qa_admin@test.com",
"password": "${TEST_ADMIN_PASSWORD}" // Подставляется из env
}
},
"timeouts": {
"navigation": 30000,
"action": 10000
},
"playwright": {
"headless": true,
"viewport": { "width": 1920, "height": 1080 }
},
"reporting": {
"outputFolder": "./test-results"
}
}
В коде тестов я загружаю эту конфигурацию один раз в хуках beforeAll или через фикстуры, чтобы не хардкодить значения.