Playwright – фреймворк для автоматизированного тестирования.

Playwright – фреймворк для автоматизированного тестирования.

Playwright - среда тестирования для современных web-приложений

с открытым исходным кодом, разработанная корпорацией Microsoft.

Возможности Playwrite :

- Позволяет работать с популярными браузерами, включая: Google Chrome, Firefox, Safari и многие другие.

- Работает с Windows, Linux и macOS, локально или на сервере непрерывной интеграции CI.

- Используются следующие языки: JavaScript, TypeScript, Python , Java.

Установка Playwright:

npm init playwright@latest

Запуск тестов:

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

npx playwright test

Запуск тестов в режиме пользовательского интерфейса:

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

npx playwright test --ui

Навигация:

Большинство тестов начинается с перехода на необходимую web-страницу.

await page.goto('https://happy_tour.ru/');

Взаимодействия с элементом:

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

Playwright использует для этого локаторы, которые позволяют найти нужный элемент на web-странице.

Playwright ожидает элемент, и когда он станет доступным, выполняет действие прописанное в коде.

// Создать локатор

const getStarted = page.getByRole('link', { name: 'Element name' });

// Кликнуть

await getStarted.click();

Действия с элементами:

1. Кликнуть на элемент

2. Установить флажок checkbox

3. Снять флажок checkbox

4. Навести курсор мыши

5. Фокус на элемент

6. Нажать клавишу, кнопку

7. Выбрать файл для загрузки

8. Выбрать значение в выпадающем списке

Сравнения:

Наиболее популярные асинхронные сравнения:

1. Флажки checkbox установлены

2. Контроль установлен

3. Элемент виден

4. Элемент содержит следующий
текст

5. Элемент имеет следующий атрибут

6. Список элементов имеет заданную длину

7. Элемент содержит текст

8. Элемент имеет следующее значение

9. Страница имеет следующий заголовок

10. Страница имеет URL

Playwright содержит следующие методы для сравнения содержания,

значения элемента: toEqual, toContain, toBeTruthy.

Запуск тестов в режиме отладки:

Для того, чтобы запустить тесты в режиме отладки, необходимо использовать флаг --headed .

npx playwright test --headed

Запуск тестов в разных браузерах:

Укажите флаг --project и название браузера, в котором хотите провести тестирование.

npx playwright test --project webkit,

где webkit – это движок для отображения web-контента, который используется в web-браузере Safari.

В случае, если необходимо использовать несколько браузеров для запуска тестов, укажите флаг --project повторно и название соответствующего движка браузера.

npx playwright test --project webkit --project firefox

Отладка тестов с Playwright Inspector:

Для того, чтобы отладить все тесты, необходимо запустить команду с флагом --debug.

npx playwright test --debug

Откроется окно браузера и Playwright Inspector, используя кнопку пошагового выполнения, чтобы пройти тест.

Для того, чтобы отладить один тестовый файл, укажите имя тестового файла и флаг --debug.

npx playwright test file_name.js –debug

Ожидаемое условие:

Используется когда программный код ожидает, например - определенный текст в заголовке страницы.

await expect(page).toHaveTitle(/Текст/);

Time out:

В Playwright возможно настроить время ожидания.

Time out теста по умолчанию - 30 000 мс

Установить время для каждого теста в файле конфигурации:

{ timeout: 100_000 }

Установить время в определенном тесте:

test.setTimeout(150_000)

Ожидаемый Time out

Ожидаемый time out по умолчанию - 5 000 мс

Установить время в файле конфигурации:

{ expect: { timeout: 100_000 } }

Установить время в определенном тесте:

expect(locator).toBeVisible({ timeout: 150_000 })

Отчеты о тестировании:

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

Чтобы открыть отчет вручную - необходимо использовать следующую команду:

npx playwright show-report

Заключение

В данной статье рассмотрены только некоторые опции фреймворка Playwrite.

Однако данный фреймворк имеет более расширенный функционал, который позволяет продуктивно реализовать автоматизацию тестирования на проекте.

Его возможности и богатый функционал создают конкуренцию подобным фреймворкам.

Playwrite достойно занимает одно из лидирующих позиций среди фреймворков автоматизированного тестирования.

1
Начать дискуссию