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