In an application monitoring context the requirement was to monitor operation of a complex Java applet-based user interface. After analysis of the application we created test scripts that test the multi-window applet-based system that included multiple automated synchronization and validation steps.
Many users employ a rich-client approach, using, in this case, sophisticated Java applets to capture user actions and to interact with the web server. The customer wished to provide continuous monitoring of the application, with results fed into a Nagios-based reporting and control environment.
Besides requiring desktop access, the monitoring activity needed to involve logins, submission of synthetic data, and automated verification of results after data was processed by various server-side applications.
eValid Application Description
The key requirement imposed on eValid was to be able to reliably test the Java applet without losing synchronization during playback that might result from various slowdowns in server-side processing.
The script used had to be nearly completely in Application Mode -- the only method available to test a Java applet -- and also needed to synchronize on the various images and response symbols and states that appear on the applet-based display. eValid's Validate and Synchronize on Screen Rectangle feature was used both to achieve the required synchronization but also to validate correct [expected] content in the applet displays.
Because response time was the driving factor for success -- tests had to be completed with in pre-determined maximum interval, we had to take special care to make sure that the eValid playback terminated cleanly when a playback attempt failed because of too-slow server performance.
After a short period of familiarization with the multiple-applet architecture of the application, eValid engineers created a playback script that included automated synchronization at key points in the script playback (to account for time variation in the server-side support of the Java applets).
We confirmed reliability of the self-synchronizing tests by running them in "production mode" for a lengthy period before turning the script over to the customer for internal monitoring use.