Monday, October 24, 2011

Using evalid With An AJAX Autocomplete Functionality

This scripting example investigates how eValid can be used to validate an AJAX autocomplete function. The two variants of the script shown below operate as follows:
  1. Introduce a partial string into the text area, for example evali.
  2. Capture the contents of the DOM after the AJAX activity has provided some suggested completions.
  3. Confirm that a required string, for example evalid, is present within the available suggestions presented by the autocomplete feature.

The goal of the script is to confirm that, among all of the possible suggested completions, that the target evalid string is among the options presented. If successful, this process effectively validates operation of the AJAX autocomplete function by confirming its results with known (expected) data.

Here is the link to the full solution description: Checking AJAX Autocomplete Functionality

Friday, October 21, 2011

Manipulating the Target Window

How do you use the eValid DOM manipulation commands to modify an anchor-tag's attributes to deliver the page to a different specified new window than the one given in the HTML passage.

In this typical HTML passage if you click on the link the new page is opened in a new window named "NEW-WINDOW":


<A HREF=../URL TARGET=NEW-WINDOW>Title Of Page</A>

The key to modifying this link target dynamically is to recognize that any anchor tag that has a specified target will have the name of the target stored as one of the attributes in the defining DOM element. All you need to do is find the right element, and then put in a new string for the target page.


Here is the link to the solution description: Change the Target of an Anchor Tag Link To A New Window

Wednesday, October 19, 2011

Modifying DOM Elements Dynamically

How do you use the DOM manipulation commands to modify a specific DOM element dynamically?

In this illustrative solution an eValid script demonstrates the ability to modify the DOM dynamically by using eValid DOM manipulation commands to change the background color.

  1. Navigates to a page
  2. Changes the background color for one element to COLOR1.
  3. Waits 5 seconds (so you can see the effect).
  4. Changes the background color for one element to COLOR2
  5. Waits 5 seconds (so you can see the effect).
  6. Changes the background color back to the original background color.
  7. Waits 5 seconds (so you can see the effect).

Here is the link to the full solution description: Modify a DOM Element Dynamically

Monday, October 17, 2011

Update on Mobile Application Performance

Some months ago we ran a small experiment on the Beta site of a mobile application in which we ran a small 100-BU (Browser User) test to see how performance of the application changed as the load increased, linearly, from 1 BU to 100 BUs.

As a followup, we repeated the experiment on the same application -- which now has become a full-scale "non-Beta" application -- with the results shown here:

Further Comparative Improvement of Performance Under Load

As you can see from the charts, things didn't necessarily get better, and you could say that there was some deterioration. But remember, that later data -- from over four months ago when the tests were first run -- is now from a live application. Right now it appears this application is "good" for up to about 25 simultaneous users, but performance drops off quickly after that -- as much as a 5x degradation beyond 50 simultaneous users.

Friday, October 14, 2011

Selected User Forum Posts

Beginning in mid-2010 we have directed all technical support questions to the eValid User Forum. We have learned that when one user has an issue, all users can profit from the answer.

Here is an additional selection of some of the posts that we think would be of general interest.

  1. Can eValid test applications using GWT and Vaadim? -- Tricks in testing a specialzed application
  2. Complex Synchronizations -- Is there a resource problem?
  3. Keep Separate Cookies -- More about saving your cookies!
  4. Can eValid detect graphic differences in my app's GUI? -- Methods to confirm graphics are described.
  5. Use of the cache during server load test -- Details on cache locking.
  6. Can you guys run a monitor on a smart phone app? -- Mobile monitoring.
  7. Run a batch mode scan? -- Background site analysis.
  8. Why does eValid base its operation on IE? -- Justifications for IE dependence.
  9. Can eValid test IPhones? -- How to spoof iPhones.
  10. Pretending to be a mobile client -- More about mobile client emulation.

Thursday, October 6, 2011

Webinar: Structural Testing for Mobile/AJAX/Web 2.0

Run Functional/Regression Tests on
Complex, Dynamic AJAX/Web 2.0/Mobile Applications
Extremely Robust Tests Are Based on Structural Page Features

Register
Wednesday, 12 October 2011
2:00 PM Eastern Time / 11:00 AM Pacific Time

When web applications often change in subtle ways, and your functional/loading/monitoring tests may begin to fail if your test scripts are "brittle". eValid's advanced structural testing commands overcomes this problem to help you achieve tests that survive page changes -- but still validate performance realistically.

The eValid structural testing command set makes it possible organize tests entirely around structural properties of a page that don't change over time. A test done with structural testing methods can handle any AJAX/Web 2.0/Mobile application reliably and efficiently. Even when page structure and details (but not essential functional intent and effect) -- change substantially.

Learn how to achieve greater productivity with smaller budgets, maximize your IT investments, and get more work done in less time with less energy.

Build reliable, robust AJAX/Web 2.0/Mobile tests once -- and you won't have to worry about them again.

Webinar Outline
  • Introduction to eValid's Architecture.
  • Functional Test Creation: "What you see and do, is what eValid records, is what eValid reproduces".
  • Methodology Overview: Record From Life, Adapt From Page Facts
  • Index/Motion (Algorithmic/Structural) Command Summary
  • Typical Script Passages: "Recorded From Life" and Structural Versions
  • Script Enhancement for AJAX/Web 2.0: Bullet-Proofing Your Playback
  • Practical Experience & Recommendations
You are cordially invited to attend this free Webinar.
REGISTER NOW!

Friday, September 2, 2011

Can you tell me more about eValid's architecture?

An eValid user wrote:

Can you tell me more about eValid's architecture? Is it based on the Trident Rendering Engine?

Yes, the browsing part of eValid is based on use of the MSHTML (Trident Rendering Engine) libraries.

Although this makes eValid a complete browser (which emulates behavior of whatever version of IE you have installed on your machine), there are a few differences in the way eValid interacts with MSHTML. The main difference is that eValid has direct, immediate, "in-memory" access to the browser DOM and this unique capability makes much of what eValid does possible.

That architecture -- incorporating direct DOM access in a free-standing executable -- also is the reason why we can use eValid in server loading work by running multiple (100's or 1,000's of) instances to impose completely realistic load.

Also -- and this fact may be just as important -- the eValid engine does not make use of the JavaScript interpreter that is part of the browser. That is important because it means that applications that rely on JavaScript like modern RIA's that use AJAX do not experience any interference in their operation from the test engine itself. (You would not want a test engine to interfere with it is supposed to test, would you?)