An Overview of Selenium

Preview:

Citation preview

AN OVERVIEWOF

SELENIUM

Adam Carmi (@carmiadam)

Co-Founder and VP R&D at Applitools

SELENIUM AUTOMATES BROWSERS

SELENIUM AUTOMATES BROWSERSALL 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

APACHE LICENSE 2.0

https://code.google.com/p/selenium/source/browse

Why “Selenium”?

Selenium Rules!

Selenium 2

Selenium WebDriver

SeleniumGrid

SeleniumIDE

Browser Automation APILocal + Remote

Centrally managed parallel execution in

diverse environments

A FF record-playback tool mostly used for

fast prototyping

(Since 2011)

Selenium WebDriver

HOW DOES IT WORK?

webdriver.xpi

IEDriverServer.exe

XPCOM

COM

WIRE (JSON / HTTP)

WIRE (JSON / HTTP)

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.

HOWDOESIT 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:

• No programming skills required• Easy record and playback• Step by step debugger• Play tests on any browser• Export tests as WebDriver tests• Extensible

CONS:

• Based on SeleniumCore• No code reuse• No iterations and conditional

statements• No exception handling• No error recovery

EPILOG

PAST, PRESENT, AND FUTURE…

2004 2009 2010 2011 2013

Jason Hugginswrites

Selenium Core

2006

Selenium IDESelenium RC

iPhoneDriver AndroidDriver [Selenium 2]WebDriver

Grid

iPhoneDriverAndroidDriverdeprecated.

W3C Working Draft

2014

[Selenium 3]S1 deprecated.

SeleniumBuilderMobile WireWebDriver

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

Recommended