|
Overview
This example illustrates use of eValid commands, including specialized structural
testing commands, to test the new Microsoft replacement for
Hotmail:
www.Outlook.com.
Test Description
The sequence of steps for this example is very simple:
ScreenShots with Explanation
Here is a set of screenshot taken during playback of the script.
Screenshots open in a new window when you click on them.
Test Script Details
Here is the actual test script used to create the sequence above.
This recorded-from-life script has been converted into pure-structural form to
assure reliability and to confirm playback synchronization.
This script has been confirmed operational on Windows XP and Windows Vista.
Because the JavaScript in the Outlook.com application is so sophisticated, some passages include special DOM-based synchronization steps using such commands as SyncOnElementProperty" and "SyncOnText".
Also, the script assumes general consistency (stability) in the naming of internal classes and/or variable names. For example, at one point to identify the target where "Hello World" is to be placed in the outbound message, the script searches for the element containing the property/value pair: className=ia_i_p_1. If this property/value pair changes then the test will FAIL, and for monitoring purposes the command will have to be updated to the new value.
# Copyright (c) Software Research, Inc. # Recording made on: Microsoft Windows XP (IE 9.0.8112.16421) # Script updated to newest Outlook.com ProjectID "Project" GroupID "Group" TestID "outlook_testing08" LogID "AUTO" DeleteCache DeleteCookies # Start by navigating to www.Outlook.com... InitLink "about:blank" Wait 3056 GotoLink 0 "http://www.Outlook.com/" "" Wait 3629 # Confirm the AJAX has settled by syncing on an ID tag... SyncOnElementProperty 0 "id" "brandModeTD" "" # Proceed to log in...regular eValid navigation is sufficient... InputValue 0 59 "TEXT" "i0116" "login" "evalid@Outlook.com" "" "" Wait 5862 InputValue 0 66 "TEXT" "i0118" "passwd" "XXXXXXXXX" "" "" Wait 2735 Delay 1000 SubmitClick 0 73 "idSIButton9" "SI" "Sign in" "" NAV Wait 5150 # Syncing on an ID tag to make sure page is ready... SyncOnElementProperty 0 "id" "icTmMeControlXXL_bar" "" Wait 2735 # Convert the from-life recorded FollowLink to structural equivalents... # FollowLink 0 225 "New" "https://bay167.mail.live.com/mail/#" "" IndexSet 0 IndexFindElement 0 DOWN "id" "NewMessage" "" IndexFollowLink 0 "" Delay 1000 SyncOnText 0 "Add a subject" "" # Now find where to insert details of the outbound message... IndexSet 0 IndexFindElement 0 DOWN "className" "cp_primaryInput cp_anyInput t_urtc" "" IndexInputValue 0 TEXT "evalid@Outlook.com" "" "" Wait 4866 InputValue 0 2150 "TEXT" "fSubject" "fSubject" "testing" "" "" Wait 4703 # Confirm the AJAX has settled by syncing on an ID tag... SyncOnElementProperty 0 "id" "ComposeRteEditor_surface" "" Wait 1000 # Find where to drop in the message... IndexSet 0 IndexFindElement 0 DOWN "className" "RichText PlaceholderText" "" IndexElementClick 0 "" Wait 4373 TabKey 0 Wait 1749 KeyText 0 "Hello World...." EnterKey 0 6 "" "number:6" Wait 7737 # Convert the from-life recorded FollowLink to structural equivalents... # FollowLink 0 122 "Send" "https://bay167.mail.live.com/mail/#" "" Delay 1000 IndexSet 0 IndexFindElement 0 DOWN "id" "SendMessage" "" IndexElementClick 0 "" Wait 11144 # Confirm the AJAX has settled by syncing on an ID tag... SyncOnText 0 "testing" "" # Now find the target into which to put the body of the message... IndexSet 0 IndexFindElement 0 DOWN "className" "ia_i_p_1" "" IndexMove +5 IndexFollowLink 0 "" Wait 14165 # Confirm the AJAX has settled by syncing on an ID tag... SyncOnText 0 "Hello World...." "" Wait 936 # Confirm that "Hello World" shows up in the message area... Delay 1000 ValidateSelectedText 0 1672 0 "Hello World...." "" Wait 2234 # Convert the from-life recorded FollowLink to structural equivalents... # FollowLink 0 430 "SR Inc" "https://bay167.mail.live.com/mail/#" "" IndexSet 0 IndexFindElement 0 DOWN "id" "c_melink" "" IndexFollowLink 0 "" Wait 1712 # Convert the from-life recorded FollowLink to structural equivalents... # FollowLink 0 508 "Sign out" "https://login.live.com/logout.srf?" \ # "ct=1369529800&rver=6.1.6206.0&lc=1033&id=64855&" \ # "ru=http:%2F%2Fbay167.mail.live.com%2Fhandlers%2F" \ # "Signout.mvc%3Fservice%3DLive.Mail%26mkt%3Den-us" "" Delay 1000 IndexSet 0 IndexFindElement 0 DOWN "id" "c_signout" "" IndexFollowLink 0 "" # Confirm the AJAX has settled by syncing on an ID tag... Delay 1000 SyncOnText 0 "You're signed out." "" ValidateSelectedText 0 13 0 "You're signed out." "" # End of script. |