theright wrote:You have a great product, and the AJAX synchronizations are super! But is there a SIMPLE way to create a script that doesn't involve digging into the DOM?
Thanks for the kind words. Much appreciated.
Actually, there is one very simple way to record an AJAX application that almost always will produce a fully synchronized playback.
The secret is to record a
SyncOnText command after each action you take on the web application.
You do this by highlighting some text phrase on the page that MIGHT be subject to AJAX desynchronization, and then clicking the eValid: Record > Validate > Selected Text pulldown from the GUI. The effect of this shows up in the Script Window as a
SyncOnText command that mentions the text you highlighted.
At playback time, when the eValid engine processes the
SyncOnText command it will wait until that specific text shows up on the screen. It does this by interrogating the DOM for the current page, and if that DOM is not complete (the page has not fully downloaded) it will continue to wait until it DOES validate that phrase.
This is a very simple method and works 99.99% of the time. But when it doesn't you'll find that eValid has a full lexicon of SyncOnXXXX type commands, and these include some very sophisticated check loops based on specific values of page propoerties.
A good example of this is the
SyncOnSelectedObjProperty command that lets you control your playback by synchronizing on the value of ANY property on ANY element of the page. You can't get more general than that.
-- The eValid Support Team