Selenium Tutorial
What is Selenium?
Javascript framework that runs in your web-
browser
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 away
Where to get it?
You can use Selenium-Core and customize
everything
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 play back those recordings followed by
asserts
Get everything at: www.openqa.org/selenium/
Selenium IDE
The root of web The list of
application you actions in the
want to test actual test case
to execute
The log of the
events that were
executed, including
any errors or
warning that may
have occurred
Selenium IDE
Record test
actions
Execution
Commands
Try the test in
the Web based
TestRunner
Reference of the
currently selected
command Specify commands,
including asserts
Test Creation Demo
Create test case to log into the gallery
Create test case to log out of the gallery
Start Pixory
Connect to the Server
Go to the Login Screen
Hit the Record Button
Type in Username and Password IDE should update
Hit record
again to stop
Hit submit
Add assertTextPresent and Hit play to make sure your
type the text to search for test is successful
Creating a Test Suite
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
A Test Suite in <title>Demo Test Suite</title>
</head>
Selenium is just an <body>
HTML file that <table id="suiteTable">
<tbody>
<tr><td>
contains a table of <b>Demo Test Suite</b>
</td></tr>
links to tests <tr><td>
<a href="./testLogin.html">TestLogin</a>
</td></tr>
<tr><td>
<a href="./testLogout.html">TestLogout</a>
</td></tr>
</tbody>
</table>
</body>
</html>
Executing the Test Suite
Selenium Core is a collection of Javascript and
HTML with iFrames
Due to security concerns Core must be
deployed within the same server as the
application being hosted
The simplest way to run Pixory is to just run
the Java application and let it use its own
server
Problems using Core with Pixory
Selenium IDE is a plug-in for Firefox and thus
can go around these restrictions
Running the Test Suite
We basically want to execute the test suite
using the Selenium IDE plug-in TestRunner.html
chrome://selenium-ide/content/selenium/TestRunner.html?
baseURL=<BASE>&test=file:///<TEST SUITE FILE>&auto=true
chrome://selenium-ide/content/selenium/TestRunner.html?
baseURL=http://localhost:8081&test=file:///Users/ms333/
projects/classes/running/v_and_v/hw3/selenium/test/
TestSuite.html&auto=true
Test Suite
Test Suite Execution
Control
Test Cases
Steps of the
test case
Application
being tested
Test Runner Control
Test Runner Control
Pause/Play
Execution Step through
Execution
Run Selected Test
Control Speed
Run All Tests of Execution
Highlight
Elements in the Summary of
Execution the Test
View the DOM View the log of
of the current the current
Page being tested execution
TestRunner Demo
Execute Tests created inside the Firefox
TestRunner