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 -- Microsoft Maps Live AJAX Demonstration -- Example Script #1
eValid Home

Summary
This page presents eValid's solution to testing and validating Microsoft's search and mapping solution Maps Live. It shows how Example Script #1 works. Please see the Top Level Description for background information about this Example Script.

Script Description
The developed script involves the following steps:

  1. Go to the starting page, www.virtualearth.com.

  2. Synchronize playback on the arrival of the complete page. The page is ready for a request.

  3. Type in a Search Maps request for "Moscone Convention Center San Francisco, CA". Click "Search Maps" to start the search.

  4. Synchronize on the listing's positioning of the "#" balloon before performing any further results validation.

  5. Validation of text is performed on the left hand side display to confirm that the results listing does contain the expected search item.

  6. Before we can Click on the "#" balloon results of the map for further details, we need to assure that the balloon is fully rendered and visually present. This is done with another synchronization step.

  7. Synchronize on the arrival of the result page. This synchronization requires that the readyState be complete at a particular page element.

  8. Validation of the "#" balloon's container text using a MatchString command to confirm that the map also matches the expected search item.

Example Script #1
Here is the eValid script developed as described above.

# Recording by eValid V8 Build #264, Build Date: (Mar 27 2008) 
# Copyright (c) 2008 by Software Research, Inc. 
# Recording made on: Microsoft Windows Vista (IE 7.0.6000.16643)

ProjectID "Users"
GroupID "eValid"
TestID "mapslive1"
LogID "AUTO"

ScreenSize 1440 900
FontSize 0
DeleteCache
DeleteCookies

# Step 1: Startup...
InitLink "http://www.virtualearth.com/"

# Step 2: To assure page is ready (AJAX) replace Wait with DOM Sync...
#Wait 19407
SyncOnSelectedObjProperty 0 227 "className" "MSVE_PoweredByLogo " \
	"MSVE_PoweredByLogo_ie" "readyState" "complete" ""

# Step 3: Make the search request...
InputValue 0 85 "TEXT" "sb_form_q" "q" "Moscone Conven" \
	"tion Center San Francisco, CA" "" ""
Wait 374
SubmitClick 0 86 "sb_form_go" "go" "" ""

# Step 4: To assure results have arrived, replace Wait with URL Sync...
#Wait 17902
SyncOnURL "http://maps.live.com/BrandFinder.ashx"

# Step 5: Validate text is found...
ValidateSelectedText 0 356 0 "747 Howard St," ""

# Step 6:  
Wait 3946
FollowLink 0 330 "1" "http://maps.live.com/#" "" NO_NAV
Wait 4387
FollowLink 0 893 "street" "javascript:VE_SearchManager.SetCenterAndZoom(16);" \
	"VE_Analytics.LogSearchNavAction(VE_Analytics.PgName.Map, 'Search " \
	"Result ERO - click on Zoom to street', VE_Analytics.PgName.ERO, '1' ," \
	" 'YN114x2001180', '')" "" NO_NAV
#Wait 3790
SyncOnSelectedObjProperty 0 207 "id" "pin_YN114x2001180" "nameProp" "pushin hover" ""
#FollowLink 0 186 "2" "javascript://pushin hover" "" NO_NAV
# The above ORIGINAL script command replaced with more flexible MOTION commands:
IndexFindElement 0 DOWN "id" "pin_YN114x2001180" "" 
IndexFollowLink 0 "" NO_NAV

# Step 7:  
#Wait 3135
FollowLink 0 207 "1" "javascript://pushin hover" "" NO_NAV
SyncOnSelectedObjProperty 0 0 "id" "container" "readyStateValue" "4" ""

# Step 8:  
MatchString 0 "(415) 974-4000" 0 ""

# End of script.

Screen Shots
Here are screen shots that show the progress of playback of this script.