The first major advantage is the availability of the Test Recorder. This Test Recorder is able to get the names or id’s (and other properties) of the IExplorer. The Test Recorder is available from: http://watintestrecord.sourceforge.net/ A big plus is that it can generate source code in VB.NET. (The beta 2 version is not generating C# code at the moment)

Note: the note in red in the above capture: “Scripting to VB.Net and copying to clipboard.”

I have a video that shows the recording process and the code generated using the Test Recorder:

Notice that the example is done with Visual Studio 2003. Since I used Visual Studio Express 2005 there is a minor difference: when adding the Reference to the Project, I needed to click on the Browse tab.

During this exercise I came across the need to address the log-in button in Yahoo but it was not obvious how to invoke it. Then I ran the recorder, compiled the script to VB.Net Console and then copied the results to the console. The button I needed was: Button btn_save = window.Button(Find.ByName(“save”));

Since I am using the C# version I coded the call to the button as:

ie.Button(Find.ByName(“.save”)).Click();

Notes:

1. A useful tool to find out the names, id’s, etc of IExplorer fields is the ie developer toolbar.

Using Pylot – an open source python package.

Version recommended: 1.24. Although the results below show version 1.22, a defect in version 1.22 caused the reports to fail if the web site experienced a time-out. This has been corrected in ver 1.24.

The following sample run has been done using the following Test parameters:

number of agents: 1

test duration in seconds: 60

rampup in seconds: 0

interval in milliseconds: 500

test case xml: c:\tmp\testcase.xml

log messages : False

The process can be started with the graphical user interface, which is invoked with the –g at the end of the python command:

C:\Tmp\pylot_1.22\pylot_1.22>python run.py -g. Notice that the test case is specified in the file test cases.xml, which is located in the pylot_1.22\pylot_1.22 folder.

Appendix:

Other sample discussions:

To find out if your hardware is robust enough to handle a certain number of users simultaneously accessing the application, you want to do a stress test. A stress test progressively increases the load of the application to discover the different breaking points -ref: http://java.sys-con.com/node/782824/mobile

The test results should answer the following questions:

* How many users can the application handle while maintaining an acceptable response time?

* What is the load threshold above which the server begins to generate errors and/or refuse connections?

* Does the server remain functional under high load or does it crash?

To do a stress test, testers should ramp up the load, starting from normal and up to the maximum predicted limit, and monitor the response times and error rates. A sudden change indicates that a threshold has been passed.

It has a set of functionality that can be readily deployed, i.e., a utility that provides the windows’ names, mouse coordinates, etc. The caption is shown below:

To start a program we issue the command: Run(“C:\Program Files\Internet Explorer\iexplore.exe”)

Since automation is accomplished using the windows’ names, the window name is used:

WinWaitActive(“Google – Windows Internet Explorer”)

The script is shown at the end.

Brief description of the script:

Two functions have been defined: login() and go2inbox().

The login function waits until the Yahoo! Mail window is active and then sends keystrokes (user id, tab, password, tab, enter) in order to access the email provider.

The go2inbox also waits until the Yahoo! Mail window is active and then it controls the mouse and directs it to the coordinates specified with:

MouseClick(“left”,45,505,1) –Notice that the IExplore window must be maximized.

Notes:

Handling the active windows takes the following into consideration:

1. If some windows have similar title but not exactly the same, and still they need to be considered as the same (Yahoo! Mail is common for login and for inbox. But the exact names differ. Auto It provides a way to use a substring of the name)

2. If tabbing doesn’t work in a certain window, mouse click is the alternative.

3. When browsing some window the info doesn’t appear immediately. It is advisable to use the sleep function with a time of 5 seconds to ensure the needed control is available.

; Wait for the IExplorer to become active – it is titled “Google – Windows Internet Explorer” on English systems
WinWaitActive(“Google – Windows Internet Explorer”)
Sleep(1000)
send(“{tab 11}”) ;to be in the url location

Sleep(2000)
Send(“mail.yahoo.com{Enter}”) ;type the yahoo mail url

login() ;if the yahoo user has signed out, then login will sign in.
copymail function
go2inbox()