Skip to main content

Параметризация тестов

Введение

Вы можете параметризовать тесты на уровне теста или на уровне проекта.

Параметризованные тесты

Хуки до и после

В большинстве случаев следует размещать хуки beforeEach, beforeAll, afterEach и afterAll вне forEach, чтобы они выполнялись только один раз:

Если вы хотите иметь хуки для каждого теста, вы можете поместить их внутри describe(), чтобы они выполнялись для каждой итерации / каждого отдельного теста:

Параметризованные проекты

Playwright Test поддерживает запуск нескольких тестовых проектов одновременно. В следующем примере мы запустим два проекта с разными опциями.

Мы объявляем опцию person и задаем значение в конфигурации. Первый проект запускается со значением Alice, а второй со значением Bob.

Мы можем использовать эту опцию в тесте, аналогично фикстурам.

Теперь мы можем запускать тесты в нескольких конфигурациях, используя проекты.

Мы также можем использовать опцию в фикстуре. Узнайте больше о фикстурах.

note

Поведение параметризованных проектов изменилось в версии 1.18. Узнайте больше.

Передача переменных окружения

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

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

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

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

Теперь вы можете запускать тесты в тестовой или производственной среде:

.env файлы

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

Теперь вы можете просто отредактировать файл .env, чтобы установить любые переменные, которые вы хотите.

Запустите тесты как обычно, ваши переменные окружения должны быть подхвачены.

Создание тестов через CSV файл

Тестовый раннер Playwright работает в Node.js, это означает, что вы можете напрямую читать файлы из файловой системы и разбирать их с помощью предпочитаемой библиотеки CSV.

Рассмотрим, например, этот CSV файл, в нашем примере input.csv:

На основе этого мы сгенерируем несколько тестов, используя библиотеку csv-parse из NPM: