|
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 -- Initial Conditions During Recording & Playback
eValid Home
Introduction
Reliable recording and playback,
essential for regression testing
or for functional monitoring,
requires that tests take special care with initial conditions.
If your application does not create and child windows
or if your application can tolerate all child windows being
closed automatically by eValid, then you don't need these options.
General Comment
eValid is a regression testing tool, and reliable operation --
which will detect if a test fails to behave as it should behave --
is fundamentally a question of detecting change.
If the test you are running starts
from a place different
than when you recorded it you would
expect the test to fail --
from eValid's point of view, something has changed, i.e. regressed.
eValid tests are only effective if they always start from the same
initial condition (initial state).
Here are some specific kinds of facts about a regression test that
may affect the initial conditions and hence may be important
to consider when designing a test.
- Cookies
Another common initial condition problem occurs
when regular cookies (not session cookies, see below)
are placed in cache during recording,
and are present when playback starts.
If a recording is made that assumes that a cookie is
in place,
the resulting playback will fail
if eValid executes a DeleteCookies command before playback.
This the reason that the "standard" eValid recording process is
to delete cache AND to delete cookies before making the recording (see below).
For example, if you are already logged in when you make your
recording, the actions taken during the recording and/or the
actions taken at the start of playback, may log you out.
Your script assumes you are logged in, you've logged out and
deleted cookies, so the script doesn't work
(yet, eValid has behaved correctly, given the changed initial conditions).
One solution is to use the available options in the eValid
Cache Manager
to choose to "delete cookies before playback" and
probably to "delete cache before playback".
Or, you can add DeleteCookies
commands in your script
(if they are not already there).
- Login State Preserved
If you have logged in during recording a test session you probably
ought to log out at the end of the test.
Not doing so means that the just-recorded script will try to log
in to an already-logged in copy of eValid.
Playback in this case probably won't work correctly.
- Child Window Processing
During recording eValid numbers window in a very precise way.
Window "0" is the eValid browser. If the pages you're testing
open child windows, they are numbered "1", "2", etc.
However, if the recording starts with a child window already open,
and the pages you are testing open additional child windows,
they may be incorrectly numbered "2", "3", etc.
Already-open child windows are numbered "1", "2", etc.
Normally evalid closes all child windows before starting playback.
A playback error will occur if a recording with an open child window
numbered "1" exists [but is closed because of playback] because
subsequently opened child windows during recording will be numbered
"2", "3", etc. At playback time child window "1" having been closed
automatically, and playback errors are likely.
- Child Window Processing Settings During Recording
Note: This feature is preset to Prompt To Close Child Windows.
Three selections can be made from the Settings Preferences
to control how eValid processes child windows at the start of
recording.
- Prompt to Close Child Windows
When this selection is made eValid will prompt you to determine if
you wish to have all open child windows
closed by evalid before starting the recording.
In most cases the it is correct to close all open child windows
before starting recording.
- Keep Child Windows Open
If this option is set then eValid will not prompt you and will
NOT close open child windows at the start of recording.
It is your responsibility to assure than any open child windows
are open before playback starts.
- Close Child Windows (Recommended Setting)
If this options is selected eValid will automatically close
all child windows before starting to create a test script.
This matches eValid's standard playback behavior which closes
any open child windows before starting playback.
-
Child Window Suppression Option
If there are child windows open at the time you start recording, and you have the
Prompt to Close Child Windows option set,
here is the modal dialog
that you will see when you start recording:
- Session Cookie
A session cookie is a state value that is stored in memory,
and is NOT stored in a cache cookie file.
(Unlike a regular, persistent cookie, a session cookie is NOT
stored in the cache.)
A session cookie is established by the actions of website under test.
The only way a session cookie can be "reset"
is to close the eValid browser and open it again.
Note that if you are running in batch mode
each eVlaid playback gets a fresh copy of eValid and that new
copy will NOT have the session cookie included.
- Session State In URL
In some system, the current system state is preserved
as a set of modifiers to the basic starting URL.
You'll see this as a long string of characters appended to the
www.mysite.com address.
In most cases tests that
start on such an address will not produce reliable results.
It is better to reload the original
www.mysite.com and start the recording from that location.