|
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 -- Testing Oracle CRM -- Example #1
eValid Home
Summary
The
www.oracle.com application,
which represents one of the earliest "software as a service" offerings,
is well known for its very sophisticated use of JavaScript.
Because of its internal complexity,
and also in part because the application is under constant modification and
update,
successful
functional testing of the oracle application
has always been challenging.
Test Plan
Below is the testplan for Example #1.
The oracle account used is a temporary one;
it may not be available in the future.
The idea of the test is to log into the account, create a new unique user,
add some data to that user's record,
confirm that the new user data is present, and then log off.
- Step #1: Go to https://login.oracle.com/us/products/applications/crmondemand/index.html's basic login page...or its current equivalent.
- Step #2: Input your UserName and Password...you to log in and get authenticated...
- Step #3: Await Authentication and navigation to Getting Started...
- Step #4: Click on the Accounts tab to go to Accounts Home area...
- Step #5: Click on the New button to go to Account Edit New Account...
- Step #6: Input and Navigate some input fields and Save...
- Step #7: The named New Account is created and displayed...
- Step #8: Click to add New Contact record information..
- Step #9: Input and Navigate Contact Edit area...
- Step #10: Click Save to create the record...
- Step #11: The new contact record is created and displayed...
- Step #12: A Reminder option is triggered in a Popup Sub-Window...
- Step #13: Clicking the Yes button closes the Popup Sub-Window...
- Step #14: An option to Send a Stay-in-Touch Request appears...
- Step #15: End the scenario by Clicking on Logout...
- Step #16: Your session logged out successfully...
- Step #17: View Playback Data results...
Developing the Test Script
The
oracle Example 1 Test Script
illustrates eValid's success with this complex example.
This example was developed using certain practical guidelines,
gained by our real-world experience with the oracle application itself
on behalf of several key eValid customers and users.
Here are some of the considerations that were used in creating the script:
We have seen that the "current instance" of the Oracle CRM JavaScript can change,
with behaviors that are identical to a prior version,
but with internal changes that cause a variety
of test playback problems.
In other words, while nothing in the application appears to have
regressed, sufficiently many changes occur so that even eValid's
Adaptive Playback feature can't overcome them.
Accordingly, we made our recording and post-processed the script
according to the
AJAX Recording Protocol.
Here is a summary of the changes made after the "from life" recording:
-
Corrected Navigations:
The most common regression experienced is that FollowLink
commands change outside Adaptive Playback's ability to compensate.
The most-reliable fix for this is to convert the problematic FollowLink's
to pure-structural DOM-based passages.
-
Adjusted NAV/NO_NAV Tags:
"From Life" recordings often problems with NAV tags.
Depending on how the UI control is handled by the underlying JavaScript
eValid may record an unnecessary NAV tag,
or eValid mail fail to record a required NO_NAV tag.
Because navigation events are dependent on how the JavaScript is written
-- over which eValid has no control --
there is
now way to reliably know which is the correction option.
For technical details see the
eValid
NAV and NO_NAV Explanation.
-
Assured JavaScript Settling Time:
We added some constant Delay commands to make sure
that JavaScript initialization and/or update is complete.
-
Disabled ElementFocus Commands:
If the contents of a recorded element focus change in the
application, playback will cause Adaptive Playback to search
the entire JavaScript file, which will take so long and consume
so much resources that you will get to a "non-responding" state.
It is usually safe to disable such passages.
Final Script and Playback
The completed
Example 1 Test Script
incorporates all of the changes needed for this particular test plan,
after first making a "from life" recording using the
AJAX Recording Protocol.
You can watch a movie of this eValid test scrip
playing back (click to view):
eValid SalesForce Demo 1 (6:22)