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 -- Observing Timing and Asynchronous Operations in Web Pages
eValid Home

Introduction
Web pages in general, and AJAX pages in particular, have some very unusual timing aspects. What you see on the browser face may -- or may NOT -- reflect what is going on behind the scenes.

It is easy to become confused about what happens when, and the asynchronous behavior of web pages often leads to confusion and frustration.

What's needed is a simple way to see what is going on "behind the scenes" in a web page as you browse it. eValid offers a "trick" to allow you to observe what is happening while you browse a page.

Web Page Behavior Observation
Here is how this is set up.

  1. Load the following script into the Script Window (Ctrl-Alt-S):
    
    ProjectID "Support"
    GroupID "Diagnostics"
    TestID "Observing"
    
    DeleteCache
    DeleteCookies
    
    # Start the playback "nowhere in particular"...
    
    InitLink "about:blank"
    
    # Tell eValid to wait around and do nothing for some period
    # of time (here, several multiples of 5 minutes)...
    
    Delay 300000
    Delay 300000
    Delay 300000
    Delay 300000
    
    # The EventLog will report everything you do on the browser 
    # which causes an interaction with the outside world...
    
    

  2. Detailed Timings ON
    Make sure that the Detail Level in the Log Output is "Detailed" in the Project/Log Output Settings page.

  3. Open EventLog
    Make sure the eValid EventLog (Ctrl-Alt-E) is active. Be sure to position the EventLog so that you can see what is going on when you take actions with the browser (see below).

  4. Start Playback
    Use the playback with the Pause|Resume button, or use eValid: Playback > Start Playback, or press F6. You will see eValid launch an empty page (http://about:blank), and then execute the Delay command. eValid will delay playback (independent of any Wait time multipliers or other modifiers).

  5. Navigate To Your Starting Page
    Navigate to the starting page by typing in the URL you wish (e.g. www.cnn.com), the press Enter.

    As eValid loads up the page you will see the actual sequence of pages and page components as they are loaded into the browser and/or into the Cache.

  6. Some Things To Look For
    For typical commercial websites, you will note one or more of the following:
    1. The page will appear ready but parts are still downloading.
    2. You may see URLs referenced that are not part of the base URL you're downloading, e.g. references to ad pages.
    3. You'll see JavaScript files added in response to actions you take.
    4. You'll learn that "Done" on the screen does not mean "finished downloading" [a common misconception].
    5. You will, after observing this for a while, have a deeper appreciation of the complexity of modern web pages and a better knowledge of how important playback synchronization is.
    6. If the page you navigate to is already in the cache you'll observe that eValid does not re-download it, except if you have the Never Use Cache option selected.
    7. It may be interesting to use the PageMap feature to study a dynamic page as it is completes the download process. You may even be able to see changes in the DOM as various AJAX components update the page asynchronously.
    8. If you take an action and nothing appears to happen in the EventLog, then you know that the action has not resulted in any input/output communication to the server. That is, such action is localized to the browser and is being performed with JavaScript (JScript) or VBScript (or ECMAscript).

Technical Explanation
The eValid browser is always active, even during playback. When the Delay command is executed, eValid is still active but is in a holding pattern (waiting for the specified time to elapse).

Actions you take during this time are recorded in the event log (but your actions are not recorded in the script file because eValid is in playback mode executing a Delay).

The EventLog accumulates and reports what the browser has done in support of playback, and in this case YOU are the playback engine because YOU are the one sending events into the browser rather than the regular eValid playback engine!