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.
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.
Adaptive Playback works with recordings that involve link navigation (such as FollowLink, or GoToLink) or with such commands as InputImageClick, and InputValue.
During playback using Adaptive Playback technology eValid 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 WARNING note in the playback 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 "close enough" so that the playback is reliable even with changes.
This table shows some of the types of steps eValid takes supporting adaptive playback:
|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.||eVaild 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 visible text and will report if the string has been found, and also reports the number of instances of the string.|
Not every eValid command has Adaptive Playback. This table shows the eValid commands that are endowed with Adaptive Playback capabilities.
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.
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:
There are additional adaptive playback capabilities that are included in eValid that are not documented here. In every case when an adaptive playback action occurs it is reported in detail in the Event Log.
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.