AN OVERVIEW OF SELENIUM Adam Carmi (@carmiadam) Co-Founder and VP R&D at Applitools
SELENIUM AUTOMATES BROWSERS
SELENIUM AUTOMATES BROWSERS ALL MAJOR BROWSERS ON ALL MAJOR (DESKTOP) OPERATING SYSTEMS
… AND MOBILE* WEB, NATIVE, AND HYBRID APPLICATIONS * Via appium, Selendroid, ios-driver and WP driver.
ONE SCRIPT TO RULE THEM ALL
No Proprietary IDE / Language
OPEN SOURCE https://code.google.com/p/selenium/source/browse APACHE LICENSE 2.0
Why “Selenium”?
Selenium Rules!
Selenium 2 (Since 2011) Selenium WebDriver Selenium Grid Selenium IDE Browser Automation API Local + Remote Centrally managed parallel execution in diverse environments A FF record-playback tool mostly used for fast prototyping
Selenium WebDriver
HOW DOES IT WORK? webdriver.xpi XPCOM IEDriverServer.exe COM
WHAT’S WIRE? A RESTFul web service using JSON over HTTP. A proposed W3C standard for automating web-browsers. https://code.google.com/p/selenium/wiki/JsonWireProtocol
Selenium Grid
WHY GRID? Scale by distributing tests (parallel execution) Run tests against a vast combination of browsers / OS.
HOW DOES IT WORK?
GRID AS A SERVICE…
Selenium IDE
SELENIUM IDE A Firefox Add-on for recording, editing and running tests. Over 10M downloads to date! PROS: CONS: • • • • • • • Based on SeleniumCore • No code reuse • No iterations and conditional statements • No exception handling • No error recovery No programming skills required Easy record and playback Step by step debugger Play tests on any browser Export tests as WebDriver tests Extensible
EPILOG
PAST, PRESENT, AND FUTURE… 2004 2006 2009 2010 2011 Jason Huggins writes Selenium Core Selenium IDE Selenium RC iPhoneDriver AndroidDriver [Selenium 2] WebDriver Grid 2013 2014 iPhoneDriver [Selenium 3] AndroidDriver S1 deprecated. deprecated. SeleniumBuilder W3C Working Mobile Wire Draft WebDriver
BEYOND SELENIUM… • UI layout and appearance validation • Flash, Custom canvas drawing, and other non HTML technologies • Test execution scheduling • Test execution reports and statistics
Thank You! Adam Carmi (@carmiadam) Co-Founder and VP R&D at Applitools

An Overview of Selenium