|
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 -- Why Is Browser Mode Operation Important?
eValid Home
Summary
Tests of any web enabled application done from the client side -- i.e. from a browser --
will simulate user interactions by stimulating the server to
produce and deliver various files based on
requests made by the client (the user's browser).
This is what happens when, for example, you click on a hypertext
link to request that the server deliver you (the browser) a new
page.
The server generates the page and sends it to the browser.
In turn, the browser may request additional pages based on what it
was just sent.
For example, pictures or style sheets or JavaScript
files are requested automatically by the browser if the page to which you
just navigated references them
(there are many ways pages can make requests for secondary pages).
While most simple navigation activity does not involve the browser
having to remember anything from moment to moment,
almost any
activity other than that does require "memory" on the part of the browser.
Getting and keeping that information internally is how the
browser "maintains state" for your session.
Browsers Require More than HTTP/HTTPS
Websites are designed to interact with client-side browsers via the HTTP/HTTPS
protocol.
Recordings made using only HTTP/HTTPS can emulate session
navigation activity with good fidelity,
and some simulations include generating requests for secondary pages.
But some website activities aren't directly recordable and/or
can only be "simulated" with great effort.
Among these are:
- Browser State Preservation.
This includes session cookies, cookies,
Javascript state, Java Applet state, and state of the cache.
- Human Interactions.
This includes
mouse clicks,
keyins (other than to HTML FORMS),
changes of focus,
JavaScript interactions,
and complex mouse-drag events.
- Activity Off The Browser (On The Desktop).
In many cases a web-based session involves interaction with non-browser
desktop objects, such as an FTP download session.
Specific Usages Requiring Browser
Here are some examples of the kinds of critical information
that the eValid browser keeps for you -- so that your playback sessions are
as reliable and realistic as possible.
- Cookies.
These files are written to your disk and store details
about your login.
»»
eValid Advantage: eValid keeps cookies just as any browser does --
automatically. If you wish to simulate a non-cookie
situation, eValid lets you run without keeping cookies.
- Session Cookies.
These files are kept in memory by the browser -- they are
never written to your disk -- and they also keep track of
various details of your session.
»»
eValid Advantage:
eValid, itself being a browser,
automatically maintains active session cookies
as requested by the server.
- Local JavaScript Values, JavaScript NameSpace.
As you work with a page locally you
generate values that are kept in local JavaScript storage,
possibly for use in subsequent pages.
»»
eValid Advantage:
Because eValid has full JavaScript support
it automatically keeps all of your locally generated values.
eValid even preserves namespace values
generated in a child window and passed back to a parent window.
- Element Mode Recording.
Modern web pages often make extensive use of JavaScript events
including OnMouseDown, OnMouseOver, OnMouseOut, OnMouseUp etc.
»»
eValid Advantage:
Recordings made by eValid rely on internal information retrieved from within
the eValid browser.
As a result the eValid recordings are precise,
completely object oriented, and completely reliable.
- Secure Session ID Values.
The browser keeps the current value
of a session ID that is assigned by the server to help it keep
track of who you are -- and to authenticate the actions you take
as correctly connected to the session it is working on.
»»
eValid Advantage: eValid handles secure session IDs with the "EnterSecureZone",
"ExitSecureZone", and "SecureDataID" command. You can select
as many as 32 Secure Data IDs for eValid to keep track of in
any session.
- Applet and "Opaque Object" Interactions.
If the page you are
looking at is a Java Applet or an other kind of "opaque object"
(for example, a Flash page), you need to be able to record and
play interacting with the object directly.
»»
eValid Advantage: eValid can record and play back the user clicking on the
desktop to provide the responses these kinds of objects need.
- Screen Input Interactions.
The eValid playback has the
capability of directly driving screen input fields, which in
many cases are not directly related to name=value pairs sent
to/from
»»
eValid Advantage: eValid can automatically lock the screen for its own temporary
use, click on a button or an image, and unlock the screen.
- Modal Dialogs.
In a modal dialog the browser screen is locked
waiting for a specific user response -- that's why it's called a
modal dialog.
»»
eValid Advantage: eValid has special provision for recording and playing back
inputs to a modal dialog, including recording the real time
that a typical user waits (the "think time") to make a
decision.
- Accurate Timings.
The eValid playback engine has complete
control of the cache so it can provide accurate timing of the
total time that it takes to download a page.
»»
eValid Advantage: eValid has a built-in timer with 1 msec. resolution, so the
times you measure are accurate and 100% indicative of times
actual users experience.
- Synchronization of Playbacks.
In actual browsers there may be
variable-length transactions that need to accounted for --
synchronized for -- so that the playback is an accurate model of
what the real user does.
»»
eValid Advantage:
eValid has a variety of built-in automatic synchronization
modes that guarantee playback never gets "out of sync."
- Plugins.
Many times a site requires that the browser accept a plugin in order to
operate with that site.
»»
eValid Advantage:
Being a complete, free-standing browser,
eValid can accept plugins that permit this
kind of test to run without difficulty.
This is true even in LoadTest mode,
when many copies of eValid are all running
simultaneously and independently.
- Content Validation.
Pages returned by the server may have been
modified and you will want to know about that. Or, you may wish
to confirm that a page contains a specific feature.
»»
eValid Advantage:
eValid has very easy-to-use content validation capabilities
that simplify and extend ordinary page difference techniques.
These validations are very difficult -- or even impossible -- with HTTP based methods.
- Cache Operations.
Sessions regularly store material in the cache for use by later parts of
a session.
The browser-based eValid solution handles this with ease, but a HTTP
capture can't do this.
»»
eValid Advantage:
Automatic operation of the cache assures extremely accurate sessions.
- Off Browser Operation.
In many test sessions it is necessary to interact with a non-browser
object. For example, this is needed with an ftp download.
»»
eValid Advantage:
The ability to operate in Application Mode gives an eValid user the ability to handle
out of browser operations with ease.
The Bottom Line...
Using the eValid browser is a more powerful method of website testing than
using "memoryless HTTP protocol" testing.
Test scripts that do not involve actual use of a browser
cannot maintain state because sessions that involve
more work than simple navigation involve more
than merely getting HTML files.
Why Is Browser Mode Operation Important?
InBrowser Advantages for Site Analysis
Why Is Browser State Dependence Important? [eValid vs. HTTP Recorders]