Зарегистрируйтесь, чтобы продолжить обучение

Подготовка Тестирование с Playwright

Установка и настройка Playwright достаточно простые, потому что он распространяется как обычный npm-пакет. Чтобы начать с ним работать, нужно инициализировать новый пакет если вы планируете создавать тесты отдельно от исходного кода приложения, либо работать внутри существующего, если вы планируете держать тесты рядом с исходным кодом.

Для варианта "с нуля" понадобится создать директорию, например hexlet-playwright. После этого можно устанавливать Playwright. Во время установки вас попросят ответить на несколько вопросов. Согласитесь с генерацией Github Actions workflow и установкой браузеров, это упростит нам работу в будущем.

npm init playwright@latest
Getting started with writing end-to-end tests with Playwright:
Initializing project in '.'
✔ Do you want to use TypeScript or JavaScript? · JavaScript
✔ Where to put your end-to-end tests? · tests
✔ Add a GitHub Actions workflow? (y/N) · true
✔ Install Playwright browsers (can be done manually via 'npx playwright install')? (Y/n) · true

JavaScript или TypeScript? С точки зрения кода разницы почти нет. Поэтому лучше выбирать TypeScript, но если вы хотите, то можете без проблем выбрать JavaScript. В этом курсе мы используем версию JavaScript, чтобы не усложнять жизнь тем, кто разрабатывает на чистом JavaScript.

Во время установки скачаются нужные браузеры и будет создана такая структура директорий:

playwright.config.js
package.json
package-lock.json
tests/
  example.spec.js
tests-examples/
  demo-todo-app.spec.js

Все дальнейшие тесты мы будем создавать в директории tests. Директория tests-examples содержит большое количество тестов приложения TodoMVC. Она нужна только для демонстрации, внутри можно посмотреть разнообразные примеры и подходы в работе с Playwright. Файл example.spec.js содержит простой тест, который поможет нам проверить, что все установилось корректно. Для этого запустим тесты:

npx playwright test

Running 6 tests using 4 workers
  6 passed (3.8s)

To open last HTML report run:

  npx playwright show-report

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

HTML Report

Во время разработки этот отчет помогает не сильно, проще зайди и посмотреть исходники теста. Поэтому старт отчета на ошибки можно отключить закомментировав в файле конфигурации playwright.config.js строчку reporter: 'html'.

Конфигурация

Конфигурация Playwright хранится в файле playwright.config.js. Внутри этого файла настраиваются устройства и браузеры, на которых нужно тестировать. По умолчанию, все тесты запускаются в трех десктопных браузерах:

export default defineConfig({
  // другие опции
  projects: [
    {
      name: 'chromium',
      use: { ...devices['Desktop Chrome'] },
    },

    {
      name: 'firefox',
      use: { ...devices['Desktop Firefox'] },
    },

    {
      name: 'webkit',
      use: { ...devices['Desktop Safari'] },
    },
  ],
})

Работу тестов можно ускорить закомментировав часть браузеров. Пока мы учимся, в этом нет никаких проблем.


Самостоятельная работа

Повторите шаги из урока

  1. Создайте директорию проекта
  2. Инициализируйте проект с Playwright
  3. Запустите тесты
  4. Посмотрите отчет о запуске тестов
  5. Отключите автоматический запуск HTML отчета
  6. Закомментируйте часть браузеров в конфиге
  7. Запустите тесты с изменениями, посмотрите, что изменилось

Дополнительные материалы

  1. playwright.dev

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff