|
eVgen Test Data Generator for eValid Test Enabled Web Browser
Table of Contents
Introduction [Top of Page]
eVgen is a utility that creates eValid script files based on placing either sequentially or randomly chosen selection values from a user supplied table into a script file. eVgen makes it possible to generate large amounts of test data quickly.
Basic Operation with eValid [Top of Page]
Basic operation with eValid involves the following steps:
Create a script that records user inputs to the screen. (i.e. email log-in, search criteria's, Forms)
Save recorded script.
Create a Template File (discussed in Section 3) from the recording made by copying the script and renaming it into an *.evt file.
Create a Value File (discussed in Section 4).
Add the "eVgenRand / eVgenSeq ["Template File (*.evt)"] ["Value File (*.data)"] command to the script that you are creating.
Run your script.
Template [Top of Page]
The template file tells eVgen how to format the generated output file. Field names found in the template file should have a counterpart and appropriate entries in the values file, or else be one of the pre-defined descriptors. Otherwise, if that field name is called for, an error message occurs. Execution will not halt, however; the field descriptor will simply not be reproduced in the output file.
File Structure:The template file is a regular text file with variable fields called descriptors; these descriptors may be replaced by other text as specified by the user. Actual text is reproduced verbatim, and various descriptors of the form:
{%[<format spec>] <field name>}are used to denote fields that may take on various values as enumerated in the values file.
Descriptors:The field name must be preceded by at least one blank, and may contain up to 40 characters. A field name must appear in every descriptor except in the case where a system command is specified immediately following the {%.
You can specify right or left alignment of the output. The default is right alignment but you can specify left alignment by adding a minus sign after %.
Any sequence of characters after the (!) and before the closing brace (}) will be regarded as a system call.
All characters after the (c) will be ignored; scanning will start again after the closing brace (}) is found. Comments are excluded from the output file. They may also contain an embedded new line if it is preceded by a backslash.
Examples of correct syntax:
{%5 Field Name} Where the number five (5) denotes the field length and conversion. {%-10 Field Name} Where the % is directly followed by a (-) denotes left alignment. {%! command} Where the % is directly followed by a (!) denotes a system command. {%c comment} Where the % is directly followed by (c) denotes a comment.
Sample Template File
Values [Top of Page]
The values file provides eVgen with the data to be supplied to the generated output file. The field name that appears on the values file should only appear once. There is no error checking for uniqueness. If a field name should appear twice, only the first occurrence and its associated values will be considered. The maximum allowable number of distinct field names is 1024.
File Structure:The eVgen values file is a regular text file containing field names and their potential values. You have a number of options for giving values in the eVgen values file. eVgen uses a data table to associate particular values to field names that you write into the template file. All field names must also be unique.
Each field must have at least one value following it; otherwise, an error occurs. Individual values are followed by a space.
The field names contained in the values file should have a counterpart in the template file. Otherwise, if a value is specified for that field on a call to eVgen, an "unknown type" error message occurs.
Field names in the template file always start with {% and end with }. All other text is reproduced in the output verbatim.
Ranges of Values, Comments and Blanks:
The user can save time and effort using the range specification for integer values.
A values file may also contain comments, and the individual values may contain blanks. it may also contain new line characters only if they are escaped with a backslash. Comments may not be embedded in the field name or data.
A blank or tab within a value item can be escaped with "\"; this appears on the value as " " and circumvents the use of white spaces as the separator. The sequence {%d}, where d is a positive integer, expands to a value that contains exactly d blanks. This allows the possibility of having a string of blanks as an item.
Examples of correct syntax:
number {%r 1..9} 1 2 3 4 5 6 7 8 9 number 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 {%c..<comment text>..} {%c Comments} {%d} Where (d) is a positive integer denotes (d) number of blanks.
Sample Values File:
eVgen Parameters [Top of Page]
Random Selection Mode eVgenRand [*.evt] [*.data] [n] Sequential Selection Mode eVgenSeq [*.evt] [*.data] [n] Sequential Reset eVgenReset [*.evt] [*.data]
* Where n is the number of times that eVgen generates data.
Random Selection Mode [Top of Page]
The random selection mode invokes eVgen once and notifies it to take out one value from each field in the values file at random. For each field name encountered in the template file, a uniformly distributed random number is used to select a particular value from those corresponding to that field name. The distribution can be weighted towards certain values by enumerating them several times in the values file.
Sequential Selection Mode [Top of Page]
Use the sequential invocation repeatedly to generate exhaustively distinct data sets. The [*.seq] file is a file that lists integers and is automatically generated by eVgen once the Sequential Mode is selected . Integers should also be separated by a space. The sequential file which is generated by eVgen is automatically named after the template file (*.evt). The eVgenReset command resets the sequential file counter to its original state prior to execution.
The [*.seq] contains the integers n1 ... nn. It will then write the next sequence of integers into that file according to the following scheme:
Increment the integer.
If this value is larger than the number of values associated with the first descriptor found in the template file, eVgen will replace it with a 1 and increment the next integer.
Steps 2 and 3 are repeated until either some value has been incremented or all the integers are exhausted.
i.e. contents of the sfile prior to execution:
1 1 1 1 1 1 1 1 1
contents of the sfile after one execution:
2 1 1 1 1 1 1 1 1
Script Examples [Top of Page]
When creating scripts you must first make a copy of the script file you plan to use as a template and rename it to *.evt. You then use the newly renamed file as a template to follow proper formatting in the script.
Here are three example scripts that illustrate how eVgen works.