Transcript Selenium
Ashesh Jain
2007EE50403
Manager
Amit Maheshwari
Test Automation
Framework
What is Test Automation?
Use of software to control the execution of tests
Comparing actual and predicted outcomes
Test Report generation
Mailing the test report
UI testing application
To check if UI elements are functioning properly
Work Assigned
Write Test Cases
Design a framework for running test cases
Integrating test cases with the nightly build
Design a UI to run selective test cases
UI Testing
How application handles keyboard and mouse input
How it displays screen text, images, buttons, menus,
dialog boxes, toolbars
Different UI testing tools: Quick Test
Professional(QTP), Selenium, HP QuickTest
Professional etc.
Software Used
Selenium IDE and Selenium RC
Maven
JBoss, TOMCAT
Eclipse IDE
Selenium
Has two major components
Selenium IDE
Selenium RC
Selenium IDE
Building Test Cases
Operates as Firefox add on
Has a recording & playback feature
Tests created in it can also be run against other
browsers by using Selenium-RC
Selenium RC
Allows
the use of programming language in
developing test logic
Provides an API and library for each of its supported
languages: HTML, Java, C#, Perl, PHP and Python
Tests developed on Firefox can be executed on any
other browser via Selenium-RC command line
Writing Test Cases
HTML test script is generated using Selenium IDE
recording feature
HTML script is converted to a java code, this feature
is provided by Selenium IDE
Required logic is coded in java
The java code can be run using Selenium RC
Pre-requisites for running Test Cases
Selenium RC server should be up
Application war file should be installed in maven
local repository and deployed on JBoss
Framework
Provided the following features:
Integrating test cases with the nightly build
During nightly build all the test cases are executed
Provides a UI to run a specific test case
Integration with nightly built
1.
2.
3.
4.
5.
6.
7.
8.
Performed SVN checkout
Started JBoss server
Deployed war file on JBoss server
Started Selenium RC server
Executed test cases
Stop Selenium RC server
Stop JBoss server
Mail test report
Key Points
All the tasks were performed from a single pom file
Application directory structure was unchanged
Both the directory structures were independent of
each other
This simplified the task of integrating test cases with
the nightly build
Directory Structure
Master POM
Contains SVN checkout code
Updates app and soapclient
Executes pom-1 and then pom-2
POM-1
Creates “app-version-uat.war”
Installs it in maven local repository
Tasks Performed by POM-2
Starts JBoss server
Looks for “app-version-uat.war” in maven local
repository and deploy it on JBoss
Starts Selenium RC server
Execute test cases
Stop Selenium RC server
Stop JBoss server
Flowchart
Executing specific test case
UI was made from which a user can choose which
test cases to execute
Particularly useful after nightly build to check for
failed tests
UI is created by reading data from an xml file
UI
Steps
Key Points
SVN checkout is not performed
Application war file should be already installed in
maven local repository
Testers have to maintain only 3 files: SSOA.xml,
config.xml and testdata.xls
Targets achieved
Framework was designed
End to end working of the framework was
demonstrated
Test cases were integrated with nightly build
UI for executing selective test cases was designed
Sample test cases were written
What I Learned
About the structure of RBS
How software development is done and what are the
different cycles involved
I was given a fresh project on which no previous
work was done, which provided me with the
opportunity to tackle the different problems faced
during the initial stages of software development
Learned about maven which is extensively used in
software development
Thank YOU!!