0% found this document useful (0 votes)
102 views

Selenium... : ... How It Came To Be, What Does It Do, and How To Use It

Selenium is a suite of tools for automating web browsers across different platforms. It was created in 2004 by Jason Huggins at ThoughtWorks to mimic human user actions like clicking and filling forms. Selenium has since expanded to include Selenium IDE for recording and playback testing, Selenium WebDriver for programmatic testing, Selenium Grid for parallel testing, and was originally known as Selenium Core using table-based syntax. The project has evolved and grown over the years with contributions from many developers and is now widely used with major programming languages and browsers to automate testing of web applications.

Uploaded by

Ana Prpic
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
102 views

Selenium... : ... How It Came To Be, What Does It Do, and How To Use It

Selenium is a suite of tools for automating web browsers across different platforms. It was created in 2004 by Jason Huggins at ThoughtWorks to mimic human user actions like clicking and filling forms. Selenium has since expanded to include Selenium IDE for recording and playback testing, Selenium WebDriver for programmatic testing, Selenium Grid for parallel testing, and was originally known as Selenium Core using table-based syntax. The project has evolved and grown over the years with contributions from many developers and is now widely used with major programming languages and browsers to automate testing of web applications.

Uploaded by

Ana Prpic
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Selenium...

...how it came to be, what does it do, and how to use it


Ana Prpic,
QA Engineer @OradianHQ

Twitter: @a_prpic
Mail: [email protected]
WE ARE HIRING!!

...talk to me later if youre interested in working with me!


What is Selenium?

Selenium is a suite of tools for


automating web browsers across
platforms
Selenium is a software
testing robot, sent from
the future to help us test
websites
-Jason Huggins
What does it do?
Mimics human action
Does so by leveraging locators
- they tell Selenium which
HTML element to interact with

some common actions:

getUrl(), click(), submit() etc.


Selenium Suite
Selenium IDE

Selenium
WebDriver

Selenium Grid

Selenium RC
How it all started
Selenium Core

2004. - Jason Huggins - ThoughtWorks

Table-based syntax

JavaScriptTestRunner

Open-sourced in 2004.
Table syntax?
Each row represents a command for browser to
execute
It is split into three columns:
The first column - name of the command to execute
The second column - element identifier
The third column - optional value
Example

command element value


open /mytestpage
type #nameField Rick Sanchez
click #submitButton

verifyText #name Rick Sanchez


Selenese commands
Actions
click()
select()
Accessors
storeTitle()
Assertions - three modes:
assert - assertTitle()
verify - verifyText()
waitFor - waitForElementPresent()
The same origin policy

The same-origin policy restricts how a


document or script loaded from one origin
can interact with a resource from another
origin. It is a critical security mechanism for
isolating potentially malicious documents.
(Same-origin policy, MDN)
Selenium Remote Control

Paul Hammant - Selenium server - every request can


be intercepted by Selenium
This opened up the possibility of writing Selenium
bindings in multiple languages
Selenium IDE

Shinya Kasatani

Firefox add-on

Record & Playback

Donated to the Selenium Project in 2006.

No longer supported
(Applitools engineers working on a complete re-write!)
Selenium WebDriver

2007. Simon Stewart - ThoughtWorks - wanted a tool


that spoke directly to the browser using native
method for the browser and the OS

Selenium RC - dictionary-based API - wide range of


languages
Selenium WebDriver - object-oriented API - Java
2009. The two projects announced merger

Supported languages include Java, C#, Python, Ruby


etc.

Supported browsers: Chrome, Firefox, IE, Opera

The original RC is deprecated, but is still running in


maintenance mode
Selenium Grid
Patrick Lightbody

Parallelisation!

Uses Hub & Node concept


SauceLabs, BrowserStack, TestingBot, Ghostlab, CrossBrowser
Testing etc.
(from ToolsQA)
Selenium today
WebDriver rules

Support for ALL major browsers

Every major programming language

Selenium Server has grid capabilities built-in


October 2015

Demo time!

November 2015
Selenium Tests
Create a WebDriver instance

Navigate to a Web page

Locate an HTML element on the


Web page

Perform an action on an HTML


element

Anticipate the browser response


to the action

Run tests and record test results


using a test framework

Conclude the test


Sauce Labs
Demo
Were going to automate THE INTERNET!
the-internet-herokuapp.com by Dave Haeffner (blog)
Form Authentication example
Next Step - dive in yourself!
Resources (blogs, videos, documentation, webinars etc.):
Beaufort Fairmont - webinars
Test Talks - podcast
WebdriverIO - official docs
JavaScript - Reference Docs
Setting Up an End-to-End Testing Workflow with Gulp, Mocha, and
WebdriverIO - blog
SeleniumConf Talks
Automate The Planet -blog
etc.
Recap
Selenium History

Selenium Today

Selenium Demo

Next steps
Thank you!
Questions?

You might also like