Для того чтобы начать работать с библиотекой Playwright, необходимо сначала установить её в проект. Playwright поддерживает несколько типов установок, включая установку через npm или yarn.
Чтобы установить Playwright через npm, нужно выполнить команду:
npm install playwright
Playwright автоматически скачает и установит все необходимые бинарные файлы для браузеров, таких как Chromium, Firefox и WebKit. Это обеспечивает возможность тестировать веб-приложения в различных браузерах.
Если используется yarn в качестве менеджера пакетов, команда будет следующей:
yarn add playwright
После завершения установки, Playwright можно будет использовать в проекте.
После того как библиотека установлена, необходимо импортировать её в код. В JavaScript можно использовать следующий способ импорта для работы с Playwright:
const { chromium, firefox, webkit } = require('playwright');
Для того чтобы работать только с одним браузером, можно импортировать только нужный:
const { chromium } = require('playwright');
После импорта библиотеки, можно приступать к созданию экземпляра браузера. В Playwright доступно несколько типов браузеров:
Для запуска браузера, нужно вызвать метод соответствующего браузера:
const browser = await chromium.launch();
Метод launch запускает браузер в фоновом режиме. Если
необходимо открыть браузер в режиме с графическим интерфейсом, можно
передать параметр headless: false:
const browser = await chromium.launch({ headless: false });
При запуске браузера Playwright создаёт контекст сессии, который позволит открывать страницы и выполнять различные действия в браузере.
Для тестирования без пользовательского интерфейса можно использовать
параметр 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();
})();
Этот пример демонстрирует базовую инициализацию, создание контекста и страницы, а также взаимодействие с веб-страницей.