|
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 -- YUI Menu Bar Recording Guide
eValid Home
Introduction
Here are simple rules to apply with recording tests on pages
that are built with the Yahoo User Interface (YUI) Menu Object Model,
in particular the Menubar objects and the similar related items.
References to YUI Object Descriptions
This note refers to web pages built with this library set:
http://developer.yahoo.com/yui/menu/#mitemconfigref
This note applies to several of the many YUI menu types, for example:
- yuimenubar
- yuimenubaritem-hassubmenu
- yuimenuitem-hassubmenu
- yuimenuitemlabel-hassubmenu
These GUI elements in some cases will cause
these kinds of problems with eValid recording and playback:
- The menu systems mentioned above typically require a few seconds to
fully stabilize and become rendered.
Recordings must either wait manually for that to occur, or must
include some kind of synchronization step to prevent playing ahead of the
client behavior.
- In some cases a click is required to cause a menu to expand,
and eValid will record the click as an erroneous attempt to navigate
This will cause problems at playback time.
Recording Protocol
Most actions you take on pages built with this YUI library record correctly "out of the box"
provided you provide long-enough Wait times.
- DOs
- Make sure you allow the JavaScript passages enough time
to download and stabilize before taking actions on them.
- Use a Wait Time Floor value of, for example, 15 seconds, to make sure that all menu items are
fully stabilized.
You can set the Wait Time Floor value in the eValid > Settings menus.
- DON'Ts
- If you happn to click on an element that does NOT produce
a navigation you will see a FollowLink command in the script that
will cause a navigation timeout.
You should comment out the FollowLink command
in the script window immediately.
Or, if you need to have the click remain in the script,
you can append a NO_NAV tag to the command
to turn off the built-in navigation synchronization step.
You'll know there is "no navigation" when the command has an empty, or nearly empty, URL and does
not have an http or https prefix.
- Resort to structural commands (index/motion commands)
unless you want to have
playback go "as fast as possible".