Do you have any special recommendations for me on how to get a good playback on an AJAX site?
Fair question, but also a very broad question.
that employ AJAX can range from very simple (for example, a simple
autocomplete activity), to the very, very complex (for example, the
recently introduced http://www.outlook.com email system from Microsoft which they are pitching as better that Gmail).
At a very high level we have found this method of using eValid to test and measure AJAX applications to be the most effective:
Make a recording from life first. "From life" means, using the
out-of-the-box settings, make a recording from the starting URL to the
point where you are going to be validating a result. The Wait times
that eValid puts into your script will, at playback time, provide a
crude level of synchronization.
(2) Play the recording back...it
ought to work the first time assuming you have not edited the script and
are not multiplying the Wait times by the Wait Time Multiplier to make
things "go faster."
(3) Now, play back the script increasing the
speed -- and increasing the changes for a script de-sync due to AJAX.
When the script de-sync's, mark that spot in the playback, go back to
that point, and record some kind of synchronization step. Repeat this
until you can run your script with the Wait Time Multiplier = 0 -- that
is, with NO wait times, but only synchronizations.
To a first
level, this will get you a good script. Of course it can become more
complex if you want to do structural testing on the page or if you want
to replace some parts of your script with fancy DOM manipulations.