Импорт и инициализация библиотеки

Для того чтобы начать работать с библиотекой Playwright, необходимо сначала установить её в проект. Playwright поддерживает несколько типов установок, включая установку через npm или yarn.

Установка через npm

Чтобы установить Playwright через npm, нужно выполнить команду:

npm install playwright

Playwright автоматически скачает и установит все необходимые бинарные файлы для браузеров, таких как Chromium, Firefox и WebKit. Это обеспечивает возможность тестировать веб-приложения в различных браузерах.

Установка через yarn

Если используется yarn в качестве менеджера пакетов, команда будет следующей:

yarn add playwright

После завершения установки, Playwright можно будет использовать в проекте.

Импорт Playwright в проект

После того как библиотека установлена, необходимо импортировать её в код. В JavaScript можно использовать следующий способ импорта для работы с Playwright:

const { chromium, firefox, webkit } = require('playwright');

Для того чтобы работать только с одним браузером, можно импортировать только нужный:

const { chromium } = require('playwright');

Создание экземпляра браузера

После импорта библиотеки, можно приступать к созданию экземпляра браузера. В Playwright доступно несколько типов браузеров:

  • Chromium — совместимый с Google Chrome.
  • Firefox — браузер от Mozilla.
  • WebKit — движок, используемый в Safari.

Запуск браузера

Для запуска браузера, нужно вызвать метод соответствующего браузера:

const browser = await chromium.launch();

Метод launch запускает браузер в фоновом режиме. Если необходимо открыть браузер в режиме с графическим интерфейсом, можно передать параметр headless: false:

const browser = await chromium.launch({ headless: false });

При запуске браузера Playwright создаёт контекст сессии, который позволит открывать страницы и выполнять различные действия в браузере.

Запуск браузера в режиме без UI

Для тестирования без пользовательского интерфейса можно использовать параметр headless: true (по умолчанию):

const browser = await chromium.launch({ headless: true });

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

Создание контекста и страницы

После того как браузер был запущен, необходимо создать контекст и страницу. Контекст — это изолированная среда, которая позволяет тестировать страницы с учётом сессий, cookies и других данных.

Создание контекста

const context = await browser.newContext();

Контекст используется для того, чтобы разделить сессии. Внутри одного контекста могут быть открыты несколько страниц, которые будут работать независимо друг от друга.

Создание страницы

Для того чтобы взаимодействовать с веб-страницей, нужно создать страницу в контексте:

const page = await context.newPage();

Теперь с объектом page можно взаимодействовать: открывать URL, искать элементы, заполнять формы, выполнять клики и т.д.

Очистка ресурсов

Когда тестирование завершено, важно корректно закрывать все ресурсы. Для этого необходимо вызвать метод close для браузера и контекста:

await page.close();
await context.close();
await browser.close();

Закрытие браузера освобождает ресурсы и завершает процесс тестирования.

Пример инициализации

Простой пример того, как можно организовать базовую инициализацию Playwright для тестирования:

const { chromium } = require('playwright');

(async () => {
  // Запуск браузера в фоновом режиме
  const browser = await chromium.launch({ headless: true });

  // Создание нового контекста и страницы
  const context = await browser.newContext();
  const page = await context.newPage();

  // Открытие страницы
  await page.goto('https://example.com');

  // Закрытие страницы и браузера
  await page.close();
  await context.close();
  await browser.close();
})();

Этот пример демонстрирует базовую инициализацию, создание контекста и страницы, а также взаимодействие с веб-страницей.