|
Introduction
The term
Adaptive Playback refers to eValid's ability
to modify its playback behavior to track changes
made by the WebSite server in the pages delivered.
This feature permits certain types of scripts,
and certain actions within those scripts,
to play back reliably
even when there are small variations in the actual pages generated
and delivered to eValid for processing.
Example
Suppose you are testing the ability of a user
to search for a particular item on your site.
When you make your eValid recording the WebSite server
generates a page that has a certain number of possible
responses, from which you pick one by name.
Later,
when more items are added to the possible selections,
you want playback to pick the same item.
Examples of WebSites that dynamically update their HTML pages regularly are:
Adaptive Playback is intended for use specifically with dynamically HTML.
Description
Adaptive Playback
works with recordings that involve link navigation (such as
FollowLink, or
GoToLink)
or with such commands as
InputImageClick, and
InputValue.
During playback eValid, using Adaptive Playback technology, first attempts to match the requested element at the recorded page index. If that matches, then eValid sets the value as specified or clicks the button/image as required.
If the visible text for a link does not match [compared with what was recorded] then eValid will search the page for a link with the same visible text and the same base URL. If it finds a match, then eValid clicks on that URL and makes an appropriate note in the LogFiles.
If eValid does not find a match, it issues an ERROR message to the user and the playback then fails at that point (or until the next GoTo command).
The current HTML page does not have to be identical in structure to the one that was used during the recording process. With eValid's Adaptive Playback technology the page can be can be "close enough" so that the playback is reliable even with changes.
Technical Details
Below is when eValid performs an adaptive search,
and what it looks for:
| Type of Action | Page Error Sensed | How Adaptive Playback Completes Successfully |
| Click on an navigation element. | Highlighted text or Target URL are not identical to original. | eValid looks for an object with matching URL and ALT text. |
| Click on an InputImage object. | Object could not be found at its original element index. | eValid looks for an object with matching URL and ALT text. |
| FollowLink | Visible text of the link at element index has changed. | eValid looks for a link with exactly the same visible text and the same base URL. |
| Click on an InputValue: Checkbox, Radio Buttons | Object is not found at original element index. | eValid looks for a match in both name and value. |
| Click on an InputValue: Text, TextArea, Hidden, Select Buttons | Object is not found at original element index. | eValid looks for a match in the name of the button. |
| ValidateSelectedText | Text is not found at original element index and string offset. | eValid searches through the complete DOM to attempt to locate a matching object. An ERROR results if no matching object can be found. |
| ValidateSelectedObjProperty | The required material is not found at the specified index. | eValid searches through the complete DOM to attempt to locate a matching object. An ERROR results if no matching object can be found. |
Applicable Commands
Not every eValid command has Adaptive Playback.
This table shows the eValid commands that are endowed with
Adaptive Playback capabilities.
| Command Class | Command |
| Navigation | FollowLink
GotoLink |
| ClickButton | ButtonClick
ResetClick SubmitClick |
| ElementMouseEvent | ElementClick
ElementMouseDown ElementMouseUp ElementMouseOver ElementMouseOut |
| ClickInputImage | InputImageClick |
| FollowLink | FollowLink |
| InputValue | InputValue |
| Validation | ValidateSelectedText
ValidateSelectedCell ValidateSelectedObjProperty |
Limitations and Restrictions
Each INPUT element
on the page must have a unique name/value pair.
If a name/pair is duplicated
(i.e. if the name/value pair is not unique)
then adaptive playback will not succeed.
Feature Architecture Comments
The proprietary adaptive playback features in eValid
represent a careful compromise between
doing what was originally intended and expected,
and doing what makes sense to do even if the playback is not perfect.
The adaptive playback implementation and behavior varies on a case by case (object type by object type) basis. As a general rule preference in eValid adaptive playback actions is given to these factors, in the following decreasing priority:
Remember, however, that a test playback that adapts too extensively to an altered page loses its value as an indicator of major change and possible failure.
If the adaptive playback feature fails to adapt enough for your situation or needs, you may wish to set up an OnWarningGoScript in your playback script to transfer playback control to a recovery script where appropriate corrective action can be taken.