Инструмент Selenium медленно, но неуклонно продолжает развиваться, постепенно превращаясь в стандарт автоматизации веб-приложений и даже проникая в область автоматизации мобильных приложений (в том числе нативных и гибридных).
Осенью 2013 года я дважды на конференциях (сначала SECR, потом ConfeT&QA) рассказывал о том, как происходило развитие инструмента Selenium и каково текущее состояние дел. Предлагаю вашему вниманию запись, сделанную на второй из упомянутых конференций.
Краткое содержание (с таймингом):
00:00 — представление
01:15 — пара вводных слов о стандарте W3C WebDriver
01:53 — обзор подходов к автоматизации веб-приложений: «через HTTP» и «через браузер»
03:13 — достоинства и недостатки подхода к автоматизации «через HTTP»
05:13 — достоинства и недостатки подхода к автоматизации «через браузер»
06:48 — обзор подходов к интеграции инструментов автоматизации с браузерами
08:10 — два способа внедрения JavaScript в браузер — «спереди» и «сзади», их достоинства и недостатки
09:28 — два способа выполения внедрённых команд в браузере — «push» и «pull»
11:01 — протокол взаимодействия с браузером, история его возникновения и развития, стандарт W3C WebDriver
13:11 — как стандартизация протокола решает часть недостатков подхода к автоматизации «через браузер»
14:34 — архитектура интеграции с браузером Chrome
15:28 — архитектура интеграции с браузером Opera (на движке Presto)
15:53 — архитектура интеграции с браузером Internet Explorer
16:27 — архитектура интеграции с браузером Firefox, сейчас и в будущем (проект Marionette)
17:37 — вновь про стандарт W3C WebDriver
18:06 — что делать со старыми версиями браузеров, в которых поддержки стандарта нет и не будет
19:13 — headless-браузеры PhantomJS и SlimerJS как способ решения проблемы «медленной автоматизации»
20:30 — Selenium Grid: распределенная архитектура как способ решения проблемы «медленной автоматизации»
21:38 — облачные сервисы, предлагающие возможность запуска браузеров (Selenium Grid в облаке)
Автор: barancev