Использование контекста в Playwright и Puppeter | OTUS

Использование контекста в Playwright и Puppeter

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

Но прежде -- вспомним пирамиду браузера. В ее основании -- сам веб-браузер. В нем мы можем создавать контекст, ну а в контексте -- открывать страницы. То есть контекст, по сути, напоминает окно Chrome в режиме "Инкогнито".

gFJL6Svl_1-1801-9a1f26.jpg

Сам по себе контекст есть в обеих библиотеках. Однако в Playwright контекст -- одна из базовых сущностей (на уровне с web-браузером и страницей), поэтому взаимодействовать с ним вам потребуется чаще, к примеру, задавать в нем permissions:

1-1801-1d0802.png

Кстати, раз уж речь зашла о пермишенах, то в Puppeteer существует метод overridePermissions(), тогда как в Playwright его уже переименовали в grantPermissions().

Что дает применение контекста(ов)?

Ну, к примеру, посредством контекстов у вас получится выполнять сценарии multi-page. Допустим, необходимо что-нибудь сделать на 2-х страницах, причем сделать это так, чтобы данные не шерились между собой (те же куки, к примеру). Использование двух контекстов существенно упрощает задачу, то есть вы сможете сделать это без проблем. Кроме того, создание контекста является более быстрым (в несколько раз), чем запуск нового браузера. Согласитесь, профит очевиден.

Теперь глянем, как изменилось взаимодействия с веб-браузером, страницей и контекстом в Playwright, если сравнивать с Puppeteer.

2-1801-15cc00.png

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

3-1801-dc035f.png

Можно ли сократить код еще? Можно, если вы импортируете не Playwright, а сразу нужный вам веб-браузер:

4-1801-eafd8d.png

По материалам https://dou.ua/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто