Your e-Business Quality Partner eValid™ -- Automated Web Quality Solution
Browser-Based, Client-Side, Functional Testing & Validation,
Load & Performance Tuning, Page Timing, Website Analysis,
and Rich Internet Application Monitoring.

eValid -- Backbase/Duke's Bookstore Example & Demonstration Script
eValid Home

Summary
This page presents eValid's solution to functional testing, validating, and loadtesting an AJAX application. This solution illustrates:

Description
The example used is a demo developed with the Backbase AJAX-based web application development system. The Duke's Bookstore is one of their prepared demos of the use of their AJAX development environment.

The main points of the example are:

Script Creation and Editing Explanation
Here is a description of how the script below was created.

Script
Here is the script that resulted from the steps above.

#
# Copyright © 2010 by Software Research, Inc. 
# Recording made on: Microsoft Windows 2000 Service Pack 4 (IE 6.0.2800.1106)
#

ProjectID "Backbase"
GroupID "DukeBook"
TestID "duke"
LogID "AUTO"


ScreenSize 1280 1024
DeleteCache
DeleteCookies
InitLink "http://www.backbase.com/products/ajax_demos/"

ResetTimer

# ORIGINAL: Wait 10595
#
# Step 1: ADDED Synchronize on completion of initial page...

SyncOnSelectedObjProperty 0 203 "nameProp" "dukeBookStore" "readyStateValue" "4" ""

#
# Step 2: Then go to the View Demo page...

FollowLink 0 203 "View demo »" "http://demo.backbase.com:8180/dukeBookStore" ""
SubFrameSet 1 "http://demo.backbase.com:8180/dukeBookStore/"

# ORIGINAL: Wait 43122
#
# Step 3: ADDED Synchronize on completion of this page...
# Screenshot No. 1...

SyncOnSelectedObjProperty 1 82 "className" "btl-listBoxOption-td" "readyStateValue" "4" ""

# ORIGINAL: ElementMouseDown 1 82 "" "Children's Books" ""
#
# Step 4: Select the "Childrens Books" category, ENHANCED using element motion commands...

IndexFindElement 1 DOWN "className" "btl-listBoxOption-td" ""
IndexFindElement 1 DOWN "innerHTML" "Children's Books" ""
IndexFollowLink 1 "" NO_NAV

# ORIGINAL: Wait 12608
#
# Step 5: ADDED Synchronize on this page before the next selection...
# Screenshot No. 2...

SyncOnSelectedObjProperty 1 165 "innerHTML" "Ages 4-8" "readyStateValue" "4" ""

# ORIGINAL: ElementMouseDown 1 165 "" "Ages 4-8" ""
#
# Step 6: Next, Select the "Ages 4-8" category, ENHANCED using element motion commands...

IndexFindElement 1 DOWN "innerHTML" "Ages 4-8" ""
IndexMove 25
IndexFollowLink 1 "" NO_NAV

# ORIGINAL: Wait 20980
#
# Step 7: ADDED an alternative Sync before Validate text on the final page to confirm arrival...
# Screenshot No. 3

SyncOnText 1 "Dirt on My Shirt" ""
ValidateSelectedObjProperty 1 365 "innerHTML" "Dirt on My Shirt" "innerText" "Dirt on My Shirt" ""

ElapsedTime "Total playback time for this run."

# End of script.

Screen Shots

  1. This is the starting screen, after the launch of the demo from the Backbase page, and after the first DOM synchronization.

  2. Here is what you see after the second DOM synchronization.

  3. Here is the page that results after the third DOM synchronization. This page also shows the "Dirt on My Shirt" line, upon which the last validation step is based.

Test Results
Here are some of the test results from this script.