23
AN OVERVIEW OF SELENIUM Adam Carmi (@carmiadam) Co-Founder and VP R&D at Applitools

An Overview of Selenium

Embed Size (px)

Citation preview

Page 1: An Overview of Selenium

AN OVERVIEWOF

SELENIUM

Adam Carmi (@carmiadam)

Co-Founder and VP R&D at Applitools

Page 2: An Overview of Selenium

SELENIUM AUTOMATES BROWSERS

Page 3: An Overview of Selenium

SELENIUM AUTOMATES BROWSERSALL MAJOR BROWSERS

ON ALL MAJOR (DESKTOP) OPERATING SYSTEMS

Page 4: An Overview of Selenium

… AND MOBILE*WEB, NATIVE, AND HYBRID APPLICATIONS

* Via appium, Selendroid, ios-driver and WP driver.

Page 5: An Overview of Selenium

ONE SCRIPT TO RULE THEM ALL

Page 6: An Overview of Selenium

No Proprietary IDE / Language

Page 7: An Overview of Selenium

OPEN SOURCE

APACHE LICENSE 2.0

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

Page 8: An Overview of Selenium

Why “Selenium”?

Page 9: An Overview of Selenium

Selenium Rules!

Page 10: An Overview of Selenium

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)

Page 11: An Overview of Selenium

Selenium WebDriver

Page 12: An Overview of Selenium

HOW DOES IT WORK?

webdriver.xpi

IEDriverServer.exe

XPCOM

COM

WIRE (JSON / HTTP)

WIRE (JSON / HTTP)

Page 13: An Overview of Selenium

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

Page 14: An Overview of Selenium

Selenium Grid

Page 15: An Overview of Selenium

WHY GRID?

Scale by distributing tests (parallel execution)

Run tests against a vast combination of browsers / OS.

Page 16: An Overview of Selenium

HOWDOESIT WORK?

Page 17: An Overview of Selenium

GRID AS A SERVICE…

$

Page 18: An Overview of Selenium

Selenium IDE

Page 19: An Overview of Selenium

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

Page 20: An Overview of Selenium

EPILOG

Page 21: An Overview of Selenium

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

Page 22: An Overview of Selenium

BEYOND SELENIUM…

•UI layout and appearance validation• Flash, Custom canvas drawing, and other non HTML

technologies• Test execution scheduling• Test execution reports and statistics

Page 23: An Overview of Selenium

Thank You!

Adam Carmi (@carmiadam)

Co-Founder and VP R&D at Applitools