SlideShare una empresa de Scribd logo
1 de 36
Webdriver + Puppeteer
Double gun - double fun
Oleksandr Khotemskyi, 2020
xotabu4.github.io
Александр Хотемской
• Software Development Engineer in Test
• Independent Contractor
• 8+ лет автоматизации тестирования и смежных
областях
• Основной стек технологий - JavaScript/TypeScript,
NodeJS
xotabu4.github.io
WebDriver
W3C protocol
Что это и как работает?
Что это?
• Это стандартизированный протокол управления
браузерами
• Можно управлять разными браузерами
одинаковыми командами
• Можно управлять браузером из разных языков
программирования
• Разработчики браузера если хотят быть
полностью w3c standarts compatible – должны
реализовать это API
https://w3c.github.io/webdr
/
Your tests
code
Selenoid Servers
Load Balancer Server
(GGR)
Selenium Server on Mac OS
X
Chrome Debug
Protocol
Что это и как работает?
Chrome DevTools
• Инструмент для разработчиков
• Включен в Chrome с самых первых версий
• Может практически полностью
контролировать что происходит в браузере
• Может инспектировать различные аспекты
работы страницы
• Может внедрятся и исполнять свои команды
в браузере
https://code.visualstudio.com/blogs/2016/02/23/introducing-chrome-debugger-for-vs-code
https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent
WebSockets
• Chrome Debug Protocol использует WebSockets
как транспорт
• Одно из основных отличий что WebSocket это
двухсторонний протокол передачи данных
• Быстрей чем HTTP
• Обе стороны могут инициировать отправку
данных, а не только клиент
Puppeteer
• JS библиотека
• Запускает и подключается к
браузеру и управляет им
через Chrome Debug Protocol
• Может скачивать Chromium
браузер автоматически
• По сути - высокоуровневая
клиентская библиотека для
работы с Chrome Debug
Protocol
WebDriver + CDP
Chrome
NodeJS
ChromeDriver
Web Server
WebApplication
HTTP (W3C WebDriver)
PuppeteerWebdriver
HTTP WebSocket
WebSocket (CDP)
WebSocket (CDP)
Настройка
• Нужно запустить браузер с помощью WebDriver как
обычно, но с дополнительной capability --remote-
debugging-port=xxxx
• Перед стартом тестов - вызвать puppeteer.connect и
указать наш remote-debugging-port
• Присвоить созданный объект Browser (от puppeteer) в
глобальную переменную (опционально)
Возможности
• Обратная совместимость с существующими
тестами
• Дополнительные puppeteer команды теперь
доступны в тестах
• Когда важна скорость - можно выбирать быстрый
puppeteer клиент
• Для стабильности и максимальной эмуляции
пользователя - webdriver клиент
CSS and JS code coverage
CSS and JS code coverage
File upload handling
Browser and Page events
Browser and Page events
Custom events
https://stackoverflow.com/questions/47107465/puppeteer-how-to-listen-to-object-events
Selenoid + Webdriver + Puppeteer
• Selenoid (а также GGR) может
перенаправлять CDP запросы внутрь
контейнера с Chrome браузером
• Для этого нам нужно указать для
подключения URL формата:
ws://selenoid.example.com:4444/devtools/<ses
sion-id>
• Это позволяет использовать существующую
тестовую ферму для подключения и
webdriver и puppeteer
Other browsers
• Есть поддержка Firefox в 2.1.0
• Есть инициатива -
compatibility.remotedebug.org - по
адаптации chrome debug protocol на
другие браузеры
• Потенциально это будет работать и
для нового Chromium-EDGE
• microsoft/playwright - новый проект,
основывается на наработках
puppeteer, поддерживает больше
браузеров, и имеет похожее API
xotabu4.github.io
Существующий WDIO-devtools-service:
https://github.com/webdriverio/webdriverio/blob/master/packages/wdio-
devtools-service/src/index.js
Puppeteer API: https://pptr.dev/
Низкоуровневый CDP API: https://chromedevtools.github.io/devtools-
protocol/
Selenoid и CDP:
https://aerokube.com/selenoid/latest/#_accessing_browser_developer_t
ools
Code coverate HTML report для Puppeteer:
https://github.com/istanbuljs/puppeteer-to-istanbul
Всякие вкусности для Chrome Debug Protocol:
https://github.com/ChromeDevTools/awesome-chrome-devtools

Más contenido relacionado

La actualidad más candente

Мастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsМастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsValentin Fedoskin
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo KazymyrovFwdays
 
Введение в maven
Введение в mavenВведение в maven
Введение в mavenDmitry Zinushin
 
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...Kirill Danilov
 
"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii Holubiev"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii HolubievFwdays
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidSQALab
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5Provectus
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantOlga Lavrentieva
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium SQALab
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Ontico
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыDrupalSib
 
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ..."nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...MoscowJS
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Fwdays
 
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23MoscowJS
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25Alex Chistyakov
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantDaria Oreshkina
 
Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...
Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...
Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...РИФ-Воронеж
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Fwdays
 
Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Fwdays
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsMikhail Chinkov
 

La actualidad más candente (20)

Мастер класс- Maven + Jenkins
Мастер класс- Maven + JenkinsМастер класс- Maven + Jenkins
Мастер класс- Maven + Jenkins
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
 
Введение в maven
Введение в mavenВведение в maven
Введение в maven
 
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...nw.js  введение в кросс-платформенные десктопные приложения на javascript (mo...
nw.js введение в кросс-платформенные десктопные приложения на javascript (mo...
 
"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii Holubiev"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii Holubiev
 
Gradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для AndroidGradle. Новый уровень автоматизации для Android
Gradle. Новый уровень автоматизации для Android
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Быстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c VagrantБыстрое развертывание среды разработки c Vagrant
Быстрое развертывание среды разработки c Vagrant
 
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
Автоматизируем тестирование UI с Ruby, Cucumber и Selenium
 
Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)Конструктор / Денис Паясь (Яндекс)
Конструктор / Денис Паясь (Яндекс)
 
Андрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание средыАндрей Михайлов. Vagrant. Быстрое развертывание среды
Андрей Михайлов. Vagrant. Быстрое развертывание среды
 
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ..."nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
"nw.js: введение в кросс-платформенные декстопные приложения на JavaScript", ...
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
 
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
 
My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25My talk on Docker from Moscow Django Meetup #25
My talk on Docker from Moscow Django Meetup #25
 
Антон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с VagrantАнтон Каляев — Быстрое развертывание среды с Vagrant
Антон Каляев — Быстрое развертывание среды с Vagrant
 
Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...
Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...
Евгений Сатуров. Firebase в Android-разработке: основные возможности. РИФ-Вор...
 
Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"Никита Галкин "Testing in Node.js World"
Никита Галкин "Testing in Node.js World"
 
Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков" Михаил Боднарчук "Docker для PHP разработчиков"
Михаил Боднарчук "Docker для PHP разработчиков"
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
 

Similar a WebdriverIO + Puppeteer. Double gun – double fun

Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven developmentTestableapple
 
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеAndrey Kazarinov
 
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...QA Club Minsk
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...ISsoft
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019GoQA
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Dakiry
 
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...Cisco Russia
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...MoscowJS
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingIevgenii Katsan
 
Protrarctor and Angular
Protrarctor and AngularProtrarctor and Angular
Protrarctor and AngularSQALab
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA EngineerYan Alexeenko
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Yandex
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...tabtabus
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораSQALab
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéInterSystems CEE
 

Similar a WebdriverIO + Puppeteer. Double gun – double fun (20)

Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
MockServer-driven development
MockServer-driven developmentMockServer-driven development
MockServer-driven development
 
Непрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в ЯндексеНепрерывная интеграция Python-проектов в Яндексе
Непрерывная интеграция Python-проектов в Яндексе
 
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
BDD JBehave или Cucumber JVM + Appium для эффективной кроссплатформенной авто...
 
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...
 
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
ОЛЕКСАНДР ХОТЕМСЬКИЙ «Огляд екосистеми Selenium» QADay 2019
 
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
Олександр Хотемський “Обзор архитектуры Selenium WebDriver”
 
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
HTML5, WebRTC технологии для коммуникаций в режиме реального времени и Jabber...
 
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter..."Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
"Опыт разработки универсальной библиотеки визуальных компонентов в HeadHunter...
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testing
 
Protrarctor and Angular
Protrarctor and AngularProtrarctor and Angular
Protrarctor and Angular
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"Евгений Батовский, Николай Птущук "Современный станок верстальщика"
Евгений Батовский, Николай Птущук "Современный станок верстальщика"
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...Организация эффективной работы команды при разработке и поддержке сложной инф...
Организация эффективной работы команды при разработке и поддержке сложной инф...
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
 
Разработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для CachéРазработка мобильного и веб интерфейса для Caché
Разработка мобильного и веб интерфейса для Caché
 

WebdriverIO + Puppeteer. Double gun – double fun

Notas del editor

  1. WebdriverIO + Puppeteer. Double gun - double fun В мире автоматизации давным-давно успешно используют W3C Webdriver HTTP протокол. С его помощью реализовано множество проектов и библиотек на различных языках (selenide, protractor, webdriverio и тысячи других). Но так же в последнее время все больше и больше команд решают использовать Chrome Debug Protocol, в частности инструмент Puppeteer. Он основан на WebSockets, и имеет свои особые возможности - двухсторонняя связь, возможность подписки на события в браузере, и многое другое. В этом докладе мы посмотрим возможности обоих протоколов, поэкспериментируем и совместим их вместе в одном проекте, чтобы заставить браузер работать на полную и взять лучшее от двух каналов связи.
  2. WDIO
  3. Request/Response interception
  4. PROTRACTOR