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

eValid -- Structural Testing With DOM Commands -- Select Two Elements in a CheckBox
eValid Home

Background
The eValid DOM index/motion algorithmic/structural testing capability makes it possible to produce robust tests which behave independently of page specifics.

Use of the DOM Manipulation Resources leads to tests that are able to operate at a level of abstraction above that of the usual eValid command level. This example is one of a series that illustrate how this process works. Please see the Guide To Examples for the complete set.

Description of Tested Feature
This example navigates to an example form and checks two boxes, nonsequentially. The passage may be different if the navigation is performed via a JavaScript passage.

Index/Motion Command Sequence
Here is the command sequence that achieves the result:

...
IndexSet 0 
IndexFindElement wid DOWN "type" "checkbox" "" 
IndexInputValue wid "CHECKBOX" "on" "" 
...

eValid Script
Here is the eValid script that is an actual instance of this action.

# Recording by eValid V9 
# Copyright 2012 by Software Research, Inc. 
# Recording made on: Microsoft Windows XP Service Pack 3 (IE 7.0.5730.13)

ProjectID "Project"
GroupID "Test"
TestID "example10"
LogID "AUTO"

InitLink "http://www.quirksmode.org/js/formex.html"
Wait 1439

# Recorded command...
#------------------------------------------------------------------------
InputValue 0 96 "CHECKBOX" "" "oranges" "on" "TRUE" ""
Wait 1332
InputValue 0 100 "CHECKBOX" "" "tomatoes" "on" "TRUE" ""
Wait 1264
#------------------------------------------------------------------------


InitLink "http://www.quirksmode.org/js/formex.html"
Wait 1439

# Structural command equivalent...
#------------------------------------------------------------------------
IndexSet 0
IndexFindElement 0 DOWN "type" "checkbox" ""
IndexInputValue 0 "CHECKBOX" "" "on" ""
IndexMove +4
IndexInputValue 0 "CHECKBOX" "" "TRUE" ""
#------------------------------------------------------------------------

# End of script.

Download example10.evs

How It Works
This example chooses to set one CHECKBOX to "on" and then moves, four elements down, to choose another CHECKBOX to be "TRUE".

The ability to reference alternative element attributes and move DOWN/UP comes into play when there are non-unique references nor "id" identifiers assigned.