Synopsis: The EPI feature provides a direct COM-based interface to eValid commands that is accessible programmatically from C/C++/C#, Java, PERL and VB programming environments. All of the navigation, validation, synchronization, adaptive playback, DOM based analysis, and activity logging features of the eValid test engine are available.
Use of the evalid programmatic interface feature allows a user to convert an actual eValid script into a form that can be incorporated into (alphabetic order):
eValid scripts are semi-static -- by design -- in that the eValid scripting language is simple, generic, agnostic, and is not cluttered with unnecessary programming language details. The result is a test scripting system that combines expressive power and clarity with ease of use.
In some cases, however, the availability of the full power of a procedure oriented language may offer the website or web application tester significant advantages. For example, using eValid function calls from within a programming language would allow for the use of loops, data structures, conditional executions, extraction of values, special synchronizations, etc.
The EPI approach has a number of important advantages.
Low overhead operation is important to preserve the realism of the driven-browser experience and to assure the accuracy of timing and performance data.
For example, a simple navigation to a new URL via a GotoLink to the eValid browser will automatically incorporate all of eValid's build in synchronization methods. This kind of page navigation can also include automatic application of eValid's Adaptive Playback feature (if it is active). Such an EPI-based program thus does NOT need to handle ANY playback synchronization matters because that work is already done actively inside the eValid browser. This applies even when advanced AJAX-type synchronization activities are being performed.
The eValid commands available in the EPI interface number ~100. They include most essential eValid script commands except those that involve flag processing, script parameter processing, and other functions that, from the EPI perspective are better handled with the local driver program. The powerful generalized eValid commands already take care of the majority of support activities needed for each function. The EPI-level programs can thus concentrate on the main testing and validation issues without worrying about details.