Your e-Business Quality Partner 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 -- Interactive Mode
eValid Home

Introduction
eValid's Interactive Mode feature enables eValid for use as a utility inside a scripting language environment.

Scripting Language Choice Issues
Test engines like eValid very often have a command language that includes a wide variety of features and capabilities. The scripting language can read data, manipulate values, control loops, etc. Commonly used patterns for scripting languages include PERL, C/C++, C#, Java, J#, Visual Basic (VB), Python, tcl, etc. In many cases these scripting languages are very complete and very elaborate. Allowing eValid to operate inside these languages amplifies eValid's capabilities without requiring eValid to maintain a scripting language.

As an illustration, here is an example eValid Interactive Mode setup expressed in C++: Example C++ Scripting Structure.

In implementing eValid we understood two factors about scripting languages:

eValid's Architectural Choice
The carefully considered choice eValid makes is to be completely agnostic in regard to scripting language. We do this by providing the Interactive Mode feature that permits embedding eValid into any of the popular scripting languages.

Accordingly, eValid has the advantage that it avoids introducing an unpopular, incompletely implemented scripting and poorly designed built-in scripting language. Instead, the Interactive Mode encapsulates eValid's complete command language and syntax as an API for use within any available scripting environment.

The result is that eValid is scripting language independent while having universal scripting language capability.

eValid Scripting Architecture
The diagram below shows how eValid operates within a scripting environment. As the diagram shows, eValid is initially launched from the scripting program with a special batch command. eValid then operates interactively by performing all the commands that are given to it one by one or in groups. Control and synchronization between eValid and the scripting language is accomplished by eValid's control of the shared file handle (lock and unlock actions).

eValid Interactive Mode Scripting Environment

As eValid reads and executes commands it updates its regular set of log files. The scripting language has complete access to this detailed record of eValid operation.

The current state of the eValid browser can be adjusted based on the results of prior commands [as reflected in the Event Log, for example] by programming in the Scripting Driver Program. Note that this program can also take inputs from the user if desired. Script driver program operation can be terminated by sending an ExitNow command to eValid.

Prepared Scripting Examples
We have prepared a scripting example that presents in pseudocode form the details of the specific examples. See the C++ Example for instances of how this architecture works.