This document describes a Webdriver Enhanced Platform for Automation (WEPA) framework for automating web application testing using Selenium. It discusses why a framework is useful for standardizing test artifacts, scripts, and classes to make tests reusable across projects, easy to maintain and extend. The framework uses Selenium scripts in Perl, a database to store test data and results, and a grid to run tests in parallel on multiple browsers and machines. It provides layers for test execution, functional actions on the application under test, and system services like the database. Configuration files are used to specify test browsers, platforms, and data.
1 of 18
Download to read offline
More Related Content
WEPA - Webdriver Enhanced Platform for Automation - WEPATest
3. WHY USE A FRAMEWORK
STANDARD NOMENCLATURE
TEST ARTIFACTS (SCREENSHOTS, LOG FILES)
TEST SCRIPTS
TEST CLASSES
REUSABILITY (SAME FRAMEWORK DIFF PROJECTS)
EASY TO MAINTAIN
EASY TO EXTEND
EASY TO UNDERSTAND
6. TEST SCRIPTS
Coded in Perl
Cross platform
Use page objects
Based on a standard
template
7. TEST SCRIPT TEMPLATE
PLATFORM LOOP
BROWSER LOOP
TEST DATA LOOP
SETUP TEST
RUN TEST
CLEANUP TEST
8. THE GRID
Java (jar file)
Selenium Stand Alone Server
Can be launched in two modes / roles
Hub
Node
Adds the capability to run tests in Parallel
GRID1
9. AUTOMATION DB
MySQL
Test Data
Form Field Data
HTML Element Object Map
Test Pages (URLs)
Keyword / Actions
Test Artifacts
Test Runs
Results (pass/fail)
Screenshots
11. TEST EXECUTION LAYER
FACES THE USER (SCRIPT PROGRAMMER)
COMMUNICATES WITH FUNCTIONAL LAYER
VIA EXPOSED METHODS (ACTIONS):
LOAD_TEST_DATA
LOGIN_AS
ADD_ITEM
EDIT_ITEM
DETERMINES PASS / FAIL STATUS
TEST.PL
12. Only layer that speaks AUT
language
Drives the AUT (by executing
actions)
All actions to be performed on
AUT are defined here
Utilizes System Layer as
needed
Returns 1 or 0 to Test
Execution layer
1 = success
0 = unsuccessful
WepaApp.pm
ShoppingCart.pm
SettingsModule.pm
FUNCTIONAL LAYER
13. Interface with anything that is
not AUT
Provides Services for the other
layers
DB access
Write and Parse Log Files
Test results processing
WepaSubs.pm
SYSTEM LAYER
15. TEST CONFIGURATION
INI type configuration files
Test Browsers (FFX,
CHR, IE, SFR)
Test Platforms (Win7,
Win8, MAC)
Test Information
Test Data
Configuration File is loaded
when the test runs
16. SYSTEM REQUIREMENTS
WebDriver itself does not have any system requirements
Requirements will depend on numerous factors:
Total number of tests
Number of physical machines (PCs)
Complexity of the tests
Type of test (end-to-end, regression)
12 Browsers per WebDriver node (VM)
2 GB RAM
~1.5 2GHz Processor
General Guideline
18. MORE INFORMATION - Q&A
URL Description
http://perlmaven.com/perl-
tutorial
excellent quick and dirty tutorial from one of
Perls leading authorities
http://perldoc.perl.org the official Perl documentation
http://search.cpan.org the online repository of Perl modules this is
the reason Perl is known as the Internets Swiss
Army knife
http://www.seleniumhq.org
/docs
official Selenium documentation
http://blog.teamvgp.com My blog
Visit the below links for information about Perl, Selenium and Automation in general