0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Автоматизация браузера предоставляет тестировщику много преимуществ. Это и ускоренное выполнение повторяющихся задач, и улучшенное покрытие тестами web-сайта, и возможность распараллеливания рабочих нагрузок. В этой статье мы расскажем несколько слов о Puppeteer - продукте от Google, представляющим собой инструмент для автоматизации браузера Chrome.</p>
1
<p>Автоматизация браузера предоставляет тестировщику много преимуществ. Это и ускоренное выполнение повторяющихся задач, и улучшенное покрытие тестами web-сайта, и возможность распараллеливания рабочих нагрузок. В этой статье мы расскажем несколько слов о Puppeteer - продукте от Google, представляющим собой инструмент для автоматизации браузера Chrome.</p>
2
<p>Как известно, автоматизация веб-браузера даёт нам возможность управлять браузером программным способом. К примеру, мы сможем: - отслеживать обновление цен на товары в интернет-магазине; - писать функциональные тесты на сайт; - заполнять утомительную и длинную HTML-форму, обычно требующую повторного ввода вручную; - сначала собирать, а потом анализировать данные о конкурентах и многое другое.</p>
2
<p>Как известно, автоматизация веб-браузера даёт нам возможность управлять браузером программным способом. К примеру, мы сможем: - отслеживать обновление цен на товары в интернет-магазине; - писать функциональные тесты на сайт; - заполнять утомительную и длинную HTML-форму, обычно требующую повторного ввода вручную; - сначала собирать, а потом анализировать данные о конкурентах и многое другое.</p>
3
<h2>Headless-браузер - что это?</h2>
3
<h2>Headless-браузер - что это?</h2>
4
<p>В браузере обычно присутствуют вспомогательные элементы: панель инструментов, строка меню, адресная строка - все они представляют собой часть графического интерфейса. Headless-браузер такого графического интерфейса, как и визуальных компонентов, не имеет. Запускается он как процесс, давая тестировщику, по сути, механизм, который позволяет взаимодействовать с ним извне из исходного кода либо других программ.</p>
4
<p>В браузере обычно присутствуют вспомогательные элементы: панель инструментов, строка меню, адресная строка - все они представляют собой часть графического интерфейса. Headless-браузер такого графического интерфейса, как и визуальных компонентов, не имеет. Запускается он как процесс, давая тестировщику, по сути, механизм, который позволяет взаимодействовать с ним извне из исходного кода либо других программ.</p>
5
<h2>Puppeteer</h2>
5
<h2>Puppeteer</h2>
6
<p>Puppeteer - headless-браузер, а также библиотека Node.js, позволяющая автоматизировать процессы в браузере Chromium посредством высокоуровневого API через Chrome DevTools Protocol. Код автоматизации, который пишет тестировщик, используя API Puppeteer, по сути, выполняет вызовы через API протокола DevTools.</p>
6
<p>Puppeteer - headless-браузер, а также библиотека Node.js, позволяющая автоматизировать процессы в браузере Chromium посредством высокоуровневого API через Chrome DevTools Protocol. Код автоматизации, который пишет тестировщик, используя API Puppeteer, по сути, выполняет вызовы через API протокола DevTools.</p>
7
<p>Запустить Puppeteer из кода Node.js можно так:</p>
7
<p>Запустить Puppeteer из кода Node.js можно так:</p>
8
<p>Что выполняется в этом примере: • запуск Chrome; • открытие новой вкладки; • переход на example.com; • создание скриншота текущей страницы; • закрытие браузера.</p>
8
<p>Что выполняется в этом примере: • запуск Chrome; • открытие новой вкладки; • переход на example.com; • создание скриншота текущей страницы; • закрытие браузера.</p>
9
<h2>Что важно знать</h2>
9
<h2>Что важно знать</h2>
10
<p>Прежде чем приступить к тестированию, следует удостовериться, что у вас установлен пакетный менеджер<em>npm</em>и, разумеется, Node.js. Проверить это можно следующей командой:</p>
10
<p>Прежде чем приступить к тестированию, следует удостовериться, что у вас установлен пакетный менеджер<em>npm</em>и, разумеется, Node.js. Проверить это можно следующей командой:</p>
11
nodejs -v || node -v && npm -v<p>Следующий этап - создание нового npm-проекта в текущей директории. Команда ниже создаст конфигурационный файл<em>package.json</em>, а параметр<em>-y</em>позволит пропустить вопросы, которые связаны с настройкой проекта (будут использованы дефолтные значения).</p>
11
nodejs -v || node -v && npm -v<p>Следующий этап - создание нового npm-проекта в текущей директории. Команда ниже создаст конфигурационный файл<em>package.json</em>, а параметр<em>-y</em>позволит пропустить вопросы, которые связаны с настройкой проекта (будут использованы дефолтные значения).</p>
12
<p>Вот как выглядит установка Puppeteer в директорию проекта:</p>
12
<p>Вот как выглядит установка Puppeteer в директорию проекта:</p>
13
npm install puppeteer@5.1.0 -save<p>Важно учесть, что для каждой версии Chromium предусмотрена своя версия Puppeteer.</p>
13
npm install puppeteer@5.1.0 -save<p>Важно учесть, что для каждой версии Chromium предусмотрена своя версия Puppeteer.</p>
14
<p>Теперь давайте создадим файл с расширением<em>.js</em>с кодом автоматизации. Он может выглядеть так:</p>
14
<p>Теперь давайте создадим файл с расширением<em>.js</em>с кодом автоматизации. Он может выглядеть так:</p>
15
<p>Что же, останется запустить JS-файл через терминал, что обеспечит запуск вашего скрипта автоматизации.</p>
15
<p>Что же, останется запустить JS-файл через терминал, что обеспечит запуск вашего скрипта автоматизации.</p>
16
<p><em>Более подробную информацию о Puppeteer вы можете получить на курсе "<a>Автоматизация тестирования на JavaScript</a>" в OTUS.</em></p>
16
<p><em>Более подробную информацию о Puppeteer вы можете получить на курсе "<a>Автоматизация тестирования на JavaScript</a>" в OTUS.</em></p>
17
<p>Источники: • http://docs.multilogin.com/l/ru/article/tkhr0ky2s6-untitled-article-ru; • https://zen.yandex.ru/media/id/5d9dd12043863f00b19fb206/avtomatizaciia-brauzera-s-pomosciu-puppeteer-5e2f1a845ba2b567d0324d72.</p>
17
<p>Источники: • http://docs.multilogin.com/l/ru/article/tkhr0ky2s6-untitled-article-ru; • https://zen.yandex.ru/media/id/5d9dd12043863f00b19fb206/avtomatizaciia-brauzera-s-pomosciu-puppeteer-5e2f1a845ba2b567d0324d72.</p>
18
18