Экосистема selenium
TRANSCRIPT
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
ЭкосистемаSelenium
© 2016 Алексей БаранцевSoftware-Testing.Ru
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Кто здесь?Алексей Баранцев[email protected]
http://software-testing.ru/http://selenium2.ru/
Selenium Core Committer с 2011 года
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
О чём вообщеразговор?
© 2016 Алексей БаранцевSoftware-Testing.Ru
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
О происхождении видов
http://www.aiportal.ru/articles/genetic-algorithms/classic-alg-part4.html
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Эволюция идей?
https://ru.wikibooks.org/wiki/Основы_ТРИЗ
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Эволюция инструментов?
Владимир Сутеев, Это что за птица?
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Экосистема
http://school-collection.edu.ru/
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
ЭкосистемаSelenium
© 2016 Алексей БаранцевSoftware-Testing.Ru
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Начало эволюции
Selenium WatirWatiNWatij
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Ключевые мутации
• Удалённый интерфейс– распределённая архитектура– мультиязычность
• Стандарт W3C– поддержка производителей браузеров
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Начало эволюции
Selenium WatirWatiNWatij
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Унификация
COM API
Remote Debug
Marionette
chromedriver
geckodriver
IEDriverServer
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Selenium как платформа
• Спецификация W3C WebDriver• Языковая независимость• Универсальный API•Примитивный API• Расширяемый API
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Selenium как платформа
COM API
Remote Debug
Marionette
chromedriver
geckodriver
IEDriverServer
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
ЭкосистемаSelenium
© 2016 Алексей БаранцевSoftware-Testing.Ru
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
«Био»-классификация
• Симбионты•Приживалы•Паразиты•Конкуренты•Нейтралисты
http://ekol-ush.narod.ru/03.htm
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
«Техно»-классификация
•Драйверы•Байндинги•Декораторы•Расширения
•Адаптеры•Сервера•Сервисы•Другие
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Драйверы
COM API
Remote Debug
Marionette
chromedriver
geckodriver
IEDriverServer
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Драйверы
http://www.seleniumhq.org/download/
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Драйверы• Настоящие Браузеры
IE, FF, Chrome, Safari, Opera• Псевдобраузеры
GhostDriver, QtWebDriver, jBrowserDriver• Мобильные приложения
Appium, Selendroid, ios-driver• Нативные приложения
Winium.Desktop, AutoItDriverServer
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Байндинги
COM API
Remote Debug
Marionette
chromedriver
geckodriver
IEDriverServer
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Байндинги
http://www.seleniumhq.org/download/
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Байндинги• «Официальные»Java, C#, Python, Ruby, JavaScript•Популярные языкиJavaScript, PHP, Perl• Экзотические языкиGo, Haskell, Objective-C, R, VBS
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Декораторы
https://en.wikipedia.org/wiki/Decorator_pattern
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Декораторы
http://www.dhgate.com/store/product/1-4-quot-snake-flexible-bit-drill-extension/372028903.html
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Декораторы• StaleTolerantWebDriver• EventFiringWebDriver• LoggingWebDriver• ImplicitlyWaitingWebDriver• профилирование, перехват трафика
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
ДекораторыWebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");driver.findElement(By.name("q")).sendKeys("webdriver");driver.findElement(By.name("btnG")).click();
WebDriver driver = new ImplicitlyWaitingWebDriver( new ChromeDriver()).getActivated();
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Расширения
http://www.wolfcraft.com/en/products/p/drill_guides/1_tecmobil_mobile_drill_stand/s/p/index.html
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Расширения• Синтаксический сахарSelenide, Geb ($ и $$)• Альтернативный стиль fluent-selenium, Nightwatch.js• Усложнение интерфейсаProtractor, HtmlElements, Watir
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Адаптеры
http://www.tme.eu/en/pages/New_Product:new-goobay-usb-adapters.html
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Адаптеры•Watir• Capybara• Robot Framework• JMeter• Visual Studio CodedUI
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Сервера
http://www.scrum.nl/prowareness/website/scrumblog.nsf/dx/ui-tests-with-selenium-testing-on-multiple-browsers-using-selenium-grid
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Сервера• Selenium Grid Extras• VisGrid (GUI for Selenium Grid)• Jenkins Selenium Plugin• Selenium Grid Router• Контейнеры (Docker)
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Сервисы
https://saucelabs.com/blog/introducing-the-sauce-plugin-for-selenium-grid
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
Сервисы• Браузеры в облакахSauceLabs, Browserstack, Gridlastic• Аутсорсинг• Консалтинг•Обучение
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
И что теперь?• Экосистема обширна•Правильно сравнивайте• Грамотно выбирайте•Не делайте велосипеды!•Делайте велосипеды!
Алексей Баранцев Software-Testing.Ru Selenium2.Ru facebook.com/groups/selenium.ru/ [email protected]
ЭкосистемаSelenium
Алексей БаранцевSoftware-Testing.Ru