Selenium – Testing Tool
Seleniumonlinetraining.info
What is Selenium?
• Selenium is a robust set of tools that supports rapid
development of test automation for web-based
applications.
• Works anywhere JavaScript is supported
• Hooks for many other languages - Java, Ruby,
Python
• Can simulate a user navigating through pages and
then assert for specific marks on the pages
• All you need to really know is HTML to start
using it right awayseleniumonlinetraining.info
Selenium
• You can use open source - Selenium tool
• Selenium IDE is a plug-in to Firefox to record and
playback tests (like WinRunner, QTP).
• You can then export the recorded test in most
language e.g. HTML, Java , .NET , Perl , Ruby etc.
• The exported test can be run in any browser and
any platform using "selenium remote control".
seleniumonlinetraining.info
Where to get it?
• You can use Selenium-Core and customize
everything – deprecated.
• But it is easier to just get a Firefox plug-in
“Selenium-IDE” that helps you “record” test
Cases.
• You can record how an app is being used and then
playback those recordings followed by asserts.
• Get everything at:www.seleniumonlinetraining.info
seleniumonlinetraining.info
Selenium Components
seleniumonlinetraining.info
Selenium-IDE
• Integrated Development Environment for building Selenium test
cases.
• Operates as a Firefox add-on and provides an interface for
developing and running individual test cases or entire test
suites.
• Selenium-IDE has a recording feature, which will keep account
of user actions as they are performed and store them as a
reusable script to play back.
• It also has a context menu (right-click) integrated with the
Firefox browser, which allows the user to pick from a list of
assertions and verifications for the selected location.
• Offers full editing of test cases.
• Although it is a Firefox only add-on, tests created in it can also
be run against other browsers by using Selenium-RC &
specifying the name of the test suite on the command line.
Selenium-RC (Remote Control)
• Selenium-RC provides an API (Application
Programming Interface) and library for each of its
supported languages: HTML, Java, C#, Perl, PHP,
Python, and Ruby.
• This ability to use Selenium-RC with a high-level
programming language to develop test cases also
allows the automated testing to be integrated with a
project’s automated build environment.
seleniumonlinetraining.info
Selenium-Grid
Selenium-Grid allows the Selenium-RC solution to scale for
test suites or test suites to be run in multiple environments.
• With Selenium-Grid multiple instances of Selenium-RC are
running on various operating system and browser
configurations, each of these when launching register with a
hub. When tests are sent to the hub they are then redirected
to an available Selenium-RC, which will launch the browser
and run the test.
• This allows for running tests in parallel, with the entire test
suite theoretically taking only as long to run as the longest
individual test.
Steps to start with Selenium!
1) Begin: write and run tests in Firefox.
Selenium IDE is a Firefox add-on that records clicks, typing,
and other actions to make a test, which you can play back in
the browser.
2) Customize: your language, your browser.
Selenium Remote Control (RC) runs your tests in multiple
browsers and platforms. Tweak your tests in your preferred
language.
3) Deploy: scale out, speed up
Selenium Grid extends Selenium RC to distribute your tests
across multiple servers, saving you time by running tests in
parallel. seleniumonlinetraining.info
Browser Selenium-IDE Selenium-RC Operating Systems
Firefox 3
1.0 Beta-1 & 1.0 Beta-2:
Record and playback tests
Start browser, run tests Windows, Linux, Mac
Firefox 2
1.0 Beta-1: Record and
playback tests
Start browser, run tests Windows, Linux, Mac
IE 8 Under development Windows
IE 7
Test execution only via
Selenium-RC
Start browser, run tests Windows
Safari 3
Test execution only via
Selenium-RC
Start browser, run tests Mac
Safari 2
Test execution only via
Selenium-RC
Start browser, run tests Mac
Opera 9
Test execution only via
Selenium-RC
Start browser, run tests Windows, Linux, Mac
Opera 8
Test execution only via
Selenium-RC
Start browser, run tests Windows, Linux, Mac
Google Chrome
Test execution only via
Selenium-RC(Windows)
Start browser, run tests Windows
Others
Test execution only via
Selenium-RC
Partial support possible As applicable
Supported Browsers
* Tests developed on Firefox via Selenium-IDE can be executed on any other supported
browser via a simple Selenium-RC command line.
seleniumonlinetraining.info
Selenium Commands – Selenese
1) Actions are commands that generally manipulate the state of
the application. They do things like “click this link” and “select
that option”.
• Can be called with “AndWait” suffix, e.g. “clickAndWait”.
2) Accessors examine the state of the application and store the
results in variables, e.g. “storeTitle”.
• They are also used to automatically generate Assertions.
3) Assertions are like Accessors, but verify that the state of the
application conforms to what is expected. Eg. “make sure the
page title is X”, “verify that this checkbox is checked”.
• All Selenium Assertions can be used in 3 modes: “assert”,
“verify”, and ” waitFor”. For example, you can “assertText”,
“verifyText” and “waitForText”.
seleniumonlinetraining.info
Selenium IDE
The list of
actions in the
actual test
case
to execute
The root of web
application you
want to test
The log of the
events that were
executed, including
any errors or
warning that may
have occurred
Selenium IDE
Execution
Commands
Record test
actions
Try the test in
the Web based
TestRunner
Specify commands,
including asserts
Reference of the
currently selected
command
seleniumonlinetraining.info
Test Suite
Execution
Control
Test Cases
Steps of the
test case
Application
being tested
TestRunner Control
www.Seleniumonlinetraining.info
TestRunner Control Pause/Play
Execution
Step through
Execution
Control Speed
of Execution
Summary of
the Test
View the log of
the current
execution
View the DOM
of the current
Page being tested
Highlight
Elements in the
Execution
Run All Tests
Run Selected Test
www.Seleniumonlinetraining.info
Test Creation Demo in
http://test.roosterit.com/
www.Seleniumonlinetraining.info
Login to http://test.roosterit.com/
Click on Tools || Selenium IDE
www.Swww.Sewww.Seleniumonli
Selenium IDE in recording Mode
www.Seleniumonlinetraining.info
Wseleniumonlinetraining.infoww.S
Add Consultant Details
Click On Submit
wwsssw.Seleniumonlinetraining.in
fo
Inserted Successfully
Selenium IDE
records the Test
Steps
Stop Recording
sss
Save Test Case/Test Suite
ss
Make the
required
changes to
the Test Case
change Click
to
clickAndWait
command
s
Make the required
changes to the Test
Case – change the
email id in the
second parameter
Make other
changes
s
Second Test Case:
searchConsultant
1) Record
2) Stop Recording
3) Save with a Name
4) Make Required
Changes to
parameters or
Commands
5) Play
Run the entire Test Suite/Each Test Case
See RESULT Here
Test Suite on Firefox
www.Seleniumonlinetrasselenium
-ssssssssining.info
addConsultant
Test Case
Changes made to
addConsultant
Test Case
searchConsultant
Test Case
www.Seleniumonlinetraining.info
Test Case Saved in HTML Tabular Format
www.Swww.Seleniumonlinetrainin
g.info
Creating a Test Suite
A Test Suite in Selenium is just an HTML file that contains a
table of links to tests
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type" />
<title>Test Suite</title>
</head>
<body>
<table id="suiteTable" cellpadding="1" cellspacing="1" border="1"
class="selenium">
<tbody>
<tr><td><b>Test Suite</b></td></tr>
<tr><td><a href="addConsultant.html">addConsultant</a></td></tr>
<tr><td><a href="searchConsultant">searchConsultant</a></td></tr>
</tbody>
</table>
</body>
</html>
www.Seleniumonlinetraining.info
TestRunner Demo
Execute Tests created inside the Firefox
TestRunner.
www.Seleniumonlinetraining.info
addConsultant TestRunner Mode
www.Seleniumonlinetraining.info
searchConsultant in Execution Mode - TestRunner
www.Seleniumonlinetraining.info
Questions?
www.Seleniumonlinetraining.info

Selenium (1)

  • 1.
    Selenium – TestingTool Seleniumonlinetraining.info
  • 2.
    What is Selenium? •Selenium is a robust set of tools that supports rapid development of test automation for web-based applications. • Works anywhere JavaScript is supported • Hooks for many other languages - Java, Ruby, Python • Can simulate a user navigating through pages and then assert for specific marks on the pages • All you need to really know is HTML to start using it right awayseleniumonlinetraining.info
  • 3.
    Selenium • You canuse open source - Selenium tool • Selenium IDE is a plug-in to Firefox to record and playback tests (like WinRunner, QTP). • You can then export the recorded test in most language e.g. HTML, Java , .NET , Perl , Ruby etc. • The exported test can be run in any browser and any platform using "selenium remote control". seleniumonlinetraining.info
  • 4.
    Where to getit? • You can use Selenium-Core and customize everything – deprecated. • But it is easier to just get a Firefox plug-in “Selenium-IDE” that helps you “record” test Cases. • You can record how an app is being used and then playback those recordings followed by asserts. • Get everything at:www.seleniumonlinetraining.info seleniumonlinetraining.info
  • 5.
  • 6.
    Selenium-IDE • Integrated DevelopmentEnvironment for building Selenium test cases. • Operates as a Firefox add-on and provides an interface for developing and running individual test cases or entire test suites. • Selenium-IDE has a recording feature, which will keep account of user actions as they are performed and store them as a reusable script to play back. • It also has a context menu (right-click) integrated with the Firefox browser, which allows the user to pick from a list of assertions and verifications for the selected location. • Offers full editing of test cases. • Although it is a Firefox only add-on, tests created in it can also be run against other browsers by using Selenium-RC & specifying the name of the test suite on the command line.
  • 7.
    Selenium-RC (Remote Control) •Selenium-RC provides an API (Application Programming Interface) and library for each of its supported languages: HTML, Java, C#, Perl, PHP, Python, and Ruby. • This ability to use Selenium-RC with a high-level programming language to develop test cases also allows the automated testing to be integrated with a project’s automated build environment. seleniumonlinetraining.info
  • 8.
    Selenium-Grid Selenium-Grid allows theSelenium-RC solution to scale for test suites or test suites to be run in multiple environments. • With Selenium-Grid multiple instances of Selenium-RC are running on various operating system and browser configurations, each of these when launching register with a hub. When tests are sent to the hub they are then redirected to an available Selenium-RC, which will launch the browser and run the test. • This allows for running tests in parallel, with the entire test suite theoretically taking only as long to run as the longest individual test.
  • 9.
    Steps to startwith Selenium! 1) Begin: write and run tests in Firefox. Selenium IDE is a Firefox add-on that records clicks, typing, and other actions to make a test, which you can play back in the browser. 2) Customize: your language, your browser. Selenium Remote Control (RC) runs your tests in multiple browsers and platforms. Tweak your tests in your preferred language. 3) Deploy: scale out, speed up Selenium Grid extends Selenium RC to distribute your tests across multiple servers, saving you time by running tests in parallel. seleniumonlinetraining.info
  • 10.
    Browser Selenium-IDE Selenium-RCOperating Systems Firefox 3 1.0 Beta-1 & 1.0 Beta-2: Record and playback tests Start browser, run tests Windows, Linux, Mac Firefox 2 1.0 Beta-1: Record and playback tests Start browser, run tests Windows, Linux, Mac IE 8 Under development Windows IE 7 Test execution only via Selenium-RC Start browser, run tests Windows Safari 3 Test execution only via Selenium-RC Start browser, run tests Mac Safari 2 Test execution only via Selenium-RC Start browser, run tests Mac Opera 9 Test execution only via Selenium-RC Start browser, run tests Windows, Linux, Mac Opera 8 Test execution only via Selenium-RC Start browser, run tests Windows, Linux, Mac Google Chrome Test execution only via Selenium-RC(Windows) Start browser, run tests Windows Others Test execution only via Selenium-RC Partial support possible As applicable Supported Browsers * Tests developed on Firefox via Selenium-IDE can be executed on any other supported browser via a simple Selenium-RC command line. seleniumonlinetraining.info
  • 11.
    Selenium Commands –Selenese 1) Actions are commands that generally manipulate the state of the application. They do things like “click this link” and “select that option”. • Can be called with “AndWait” suffix, e.g. “clickAndWait”. 2) Accessors examine the state of the application and store the results in variables, e.g. “storeTitle”. • They are also used to automatically generate Assertions. 3) Assertions are like Accessors, but verify that the state of the application conforms to what is expected. Eg. “make sure the page title is X”, “verify that this checkbox is checked”. • All Selenium Assertions can be used in 3 modes: “assert”, “verify”, and ” waitFor”. For example, you can “assertText”, “verifyText” and “waitForText”. seleniumonlinetraining.info
  • 12.
    Selenium IDE The listof actions in the actual test case to execute The root of web application you want to test The log of the events that were executed, including any errors or warning that may have occurred
  • 13.
    Selenium IDE Execution Commands Record test actions Trythe test in the Web based TestRunner Specify commands, including asserts Reference of the currently selected command seleniumonlinetraining.info
  • 14.
    Test Suite Execution Control Test Cases Stepsof the test case Application being tested
  • 15.
  • 16.
    TestRunner Control Pause/Play Execution Stepthrough Execution Control Speed of Execution Summary of the Test View the log of the current execution View the DOM of the current Page being tested Highlight Elements in the Execution Run All Tests Run Selected Test www.Seleniumonlinetraining.info
  • 17.
    Test Creation Demoin http://test.roosterit.com/ www.Seleniumonlinetraining.info
  • 18.
    Login to http://test.roosterit.com/ Clickon Tools || Selenium IDE www.Swww.Sewww.Seleniumonli
  • 19.
    Selenium IDE inrecording Mode www.Seleniumonlinetraining.info Wseleniumonlinetraining.infoww.S
  • 20.
  • 21.
  • 22.
  • 23.
    Selenium IDE records theTest Steps Stop Recording sss
  • 24.
  • 25.
    Make the required changes to theTest Case change Click to clickAndWait command s
  • 26.
    Make the required changesto the Test Case – change the email id in the second parameter Make other changes s
  • 27.
    Second Test Case: searchConsultant 1)Record 2) Stop Recording 3) Save with a Name 4) Make Required Changes to parameters or Commands 5) Play
  • 28.
    Run the entireTest Suite/Each Test Case See RESULT Here
  • 29.
    Test Suite onFirefox www.Seleniumonlinetrasselenium -ssssssssining.info
  • 30.
  • 31.
  • 32.
  • 33.
    Test Case Savedin HTML Tabular Format www.Swww.Seleniumonlinetrainin g.info
  • 34.
    Creating a TestSuite A Test Suite in Selenium is just an HTML file that contains a table of links to tests <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta content="text/html; charset=UTF-8" http-equiv="content-type" /> <title>Test Suite</title> </head> <body> <table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium"> <tbody> <tr><td><b>Test Suite</b></td></tr> <tr><td><a href="addConsultant.html">addConsultant</a></td></tr> <tr><td><a href="searchConsultant">searchConsultant</a></td></tr> </tbody> </table> </body> </html> www.Seleniumonlinetraining.info
  • 35.
    TestRunner Demo Execute Testscreated inside the Firefox TestRunner. www.Seleniumonlinetraining.info
  • 36.
  • 37.
    searchConsultant in ExecutionMode - TestRunner www.Seleniumonlinetraining.info
  • 38.

Editor's Notes

  • #2 seleniumonlinetraining.info seleniumonlinetraining.info
  • #8 Selenium-RC allows the test automation developer to use a programming language for maximum flexibility and extensibility in developing test logic. For instance, if the application under test returns a result set, and if the automated test program needs to run tests on each element in the result set, the programming language’s iteration support can be used to iterate through the result set, calling Selenium commands to run tests on each item. seleniumonlinetraining.info seleniumonlinetraining.info