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

Введение Тестирование с Playwright

Playwright — это мощный инструмент для автоматизированного тестирования веб-приложений, разработанный компанией Microsoft. С помощью Playwright вы можете писать тесты, которые будут работать во всех современных браузерах, таких как Chrome, Firefox и Safari, и обеспечивать высокую степень надёжности и быстродействия.

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

Помимо взаимодействия с браузером, Playwright предоставляет Test Runner, с помощью которой описываются и запускаются сами тесты. В этом смысле он заменяет собой Jest.

// Пример теста на Playwright
import { test, expect } from '@playwright/test'

test('load users button functionality', async ({ page }) => {
  await page.goto('https://http.hexlet.app/js-playwright/users-list')

  // Нажимаем на кнопку для загрузки пользователей
  await page.click('#loadDataBtn')

  // Ожидаем, что пользователи загрузятся и отобразятся на странице
  const userNames = await page.getByRole('listitem').allTextContents()
})

Playwright не единственный инструмент на рынке. Кроме него широко известны и активно используются: Cypress, Selenium и Puppeteer. Но нельзя не отметить, что происходит постепенное движение в сторону Playwright.

Почему Playwright?

  • Кросс-браузерность: Playwright поддерживает одновременное тестирование во всех возможных браузерах и устройствах, что позволяет убедиться в том, что ваше приложение работает корректно в любом окружении.
  • Мульти-платформенность: Вы можете запускать тесты на различных операционных системах, включая Windows, macOS и Linux. Playwright отлично работает в локальном окружении и на CI в headless-режиме.
  • Современные возможности: Playwright предоставляет доступ ко всем последним возможностям браузеров, таким как работа с веб-сокетами, геолокацией и сенсорными устройствами.
  • Автоматические ожидания: Playwright следит за появлением и пропаданием элементов на странице, устраняя необходимость самостоятельно использовать механизм ожиданий, одну из главных причин нестабильных тестов, которые то работают, то не работают.
  • Полная изоляция: Playwright создает независимый контекст браузера с нулевым оверхедом для каждого теста, что дает полную изоляцию тестов друг от друга.
  • Инструменты разработки: Playwright предоставляет мощнейшие инструменты генерации и отладки тестов, позволяющие по шагам проходить процесс тестирования вперед и назад с возможностью визуально оценивать изменения

Это лишь небольшой список того, что есть в Playwright. На текущий момент, ни один другой подобный инструмент не имеет всего этого в своем арсенале, поэтому мы наблюдаем постепенную миграцию компаний в его сторону.

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

Для удобства, большая часть примеров в уроках базируется на проекте https://demo.playwright.dev/todomvc/, который предоставляют нам разработчики Playwright. Так вам легче будет понять что происходит, плюс вы всегда сможете повторить любой тест "ручками".

Как работает Playwright?

Playwright взаимодействует с браузерами напрямую, через их встроенные API (DevTool), без необходимости использовать адаптеры или посредников, как в, например, Selenium. Это обеспечивает более точное и быстрое выполнение тестов. Отсутствие необходимости в адаптерах уменьшает количество зависимостей и сложность настройки тестовой среды. Это делает Playwright более простым в использовании и интеграции в существующие проекты.


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

  1. playwright.dev

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

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

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

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

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

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

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

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