|
eValid -- The Web Quality Suite
Browser-Based Client-Side Functional Testing and Validation
Page Timing/Tuning Transaction Monitoring.
WebSite Spidering & Analysis and Realistic Server Loading.
|
|
eValid -- DOM Analysis/Support Summary
eValid Home
Overview
eValid provides a range of capabilities that support automated
analysis of DOM contents for a variety of purposes and effects.
The two major applications in functional testing are the
synchronization of playback (especially for AJAX applications),
and, functional test
results validation based on use of
scripts that operate in a
position-independent, non-brittle, page-variation-tolerant fashion.
Principles of Operation
Here are the main points about this family of commands.
- Historic DOM Usage
eValid DOM processing capabilities are integral to eValid operation.
As a full-scale, full-featured browser,
eValid automatically incorporates the DOM
that is associated with every web page.
Some longstanding
eValid features such as Adaptive Playback (see below)
use internal DOM manipulations to very good effect.
- Exposing DOM Access
As web pages grow in complexity, and as demands for more-precise
manipulation of the DOM grow, eValid has begun to expose some of the
existing internal methods for use by the sophisticated user who
is able to understand page details well enough.
The PageMap
is the eValid capability that exposes details of the
DOM contents to testers.
PageMap usage is linked to some of the AJAX synchronization commands
that were implemented to give users direct control over internal
states that imply AJAX page ready-status.
- DOM Manipulation
These already-existing DOM analysis modes internal to eValid
are exposed in the DOM manipulation commands.
They were designed to give eValid users
the access needed to support programmed tests that address complex
page validation, element selection, and playback synchronization needs.
A main feature of these commands it that they are designed to provide
the necessary DOM analysis capability
without requiring use of any advanced programming techniques or skill.
- Command Usage
In some cases, the DOM-based command is issued directly from the
eValid GUI.
In most situations the user needs to identify key DOM features
using the PageMap to allow the command to have enough information
to operate correctly.
And, in other situations the user needs to create (edit) the command
to achieve a specific purpose.
- EPI Availability
However, if the complexity of the page you are analyzing requires it,
the eValid Programmatic Interface (EPI)
is available and in EPI runs you have essentially unlimited power to
perform DOM analyses.
DOM Specific Capabilities
- Adaptive Playback
This important feature assures correct behavior of
a script even when certain features of a page change.
The
Adaptive Playback Feature
examines the DOM to identify the right action to take
when there are changes in page detail that do not
materially affect test behavior.
- PageMap
The PageMap GUI
provides two-directional access from the current page:
you can click on a page at any point and see the DOM
elements that contribute to that part of the page,
and click on any DOM element to see where it contributes
an effect into the page.
The PageMap provides very detailed information about the values
of DOM attributes;
this information is important in scripting some kinds of DOM
actions (see below).
- Validate and Synchronize Commands
There are many ways to confirm the contents of a page,
as enumerated in this
Validation Modes Summary.
Most of these types of validation involve use of the DOM in
one way or another.
- Element Manipulation/Motion
The eValid
DOM Element Manipulation/Motion Commands
are the primary method that permits manipulation
of playback in a "position independent" manner.
These commands all result in identifying a particular sourceIndex
that is remembered inside evalid and can be used as the basis for taking
action on that element.
The key command here is the
IndexFindElement command that positions the sourceIndex
based on a simple search of the DOM.
This command is suitable for almost all DOM manipulation operations.
- Finding DOM Elements
The first step in processing DOM details is to find a particular DOM element.
This is usually done with the
IndexFindElement command.
- Finding DOM Elements with Regular Expressions
A major concern in arranging for correct DOM processing is
finding the HTML element upon which to take action, and doing so in a very general way.
This search process can be done with the
IndexFindElementEx
command, which provides a powerful and flexible method,
based on use of
Regular Expression
string matching,
to identify a particular HTML DOM element in the current
page in a way that lets the
IndexElementEvent
command
to take an action on it.
- Acting on a Selected DOM Element
Once a DOM element is identified the eValid script allows
you to choose a particular event to apply to the sourceIndex.
This is done with the
IndexElementEvent
command,
which lets you take a variety of actions on an identified sourceIndex.
Every possible kind of user action is included with this command,
but some of the more common user actions have their
own independent, and simpler, commands for that purpose.
An example of this is the
IndexMouseDown
command, which can also be accomplished with the more-powerful
IndexElementEvent
command, but in a way that requires more information at the command level.
- Setting and Extracting DOM Property Values
eValid has commands that perform
Value Manipulation
within the DOM of the current page.
The user can find and extract a DOM property, and set
an already found DOM property to a value.
- DOM Input/Output Operations
eValid has commands that allow auser to perform
Input/Output Operations, using the filesystem as
a value repository.
These commands provide "global memory" for actions taken in and from a page.