Recorder act as a proxy server between web browser and the web server, it record all the interaction between browser and server in the form of script file. It is also possible for the recorder module instead of connecting directly to the web server, can be connected to another proxy server just by specifying proxy address and port number in Settings dialog. Before recording the script we can enable or disable the client cache option. If the web pages, which are going to record, are already cached in the Temporary Internet Folder, by disabling this option we can get entire response from web server otherwise pages are taken directly from Temporary Internet Folder.
To record a new script, Click New Script or Ctrl+N, and then Click Start Recording or Press F5
To generate dynamic and unique values for each virtual users while simulation process, script has to be parameterized. The figure A shows sample parameters.
When particular file is selected, all its existing parameters are displayed in parameter tab.
String | Width | Use "_" | Output |
---|---|---|---|
abc | 0 | checked | abc_1_1, abc_2_1, ... |
xyz | 0 | unchecked | xyz11, xyz21, ... |
pqrs | 3 | checked | pqrs_001_001, ... |
4 | unchecked | 00010001, 00020001, ... |
String | Init Val | String | Width | Use "_" | Output |
---|---|---|---|---|---|
ab | 5 | xy | 0 | checked | ab_5_xy, ab_6_xy, ... |
aaa | bbb | 0 | unchecked | aaa0bbb, aaa1bbb, ... | |
xyz | 10 | 3 | checked | xyz_010_, xyz_011_, ... | |
500 | xxx | 0 | unchecked | 500xxx, 501xxx, ... |
String | Rnd Init Val | String | Width | Use "_" | Output |
---|---|---|---|---|---|
abc | 100 | xyz | 0 | checked | abc_85_xyz, abc_24_xyz, ... |
aaa | bbb | 0 | unchecked | aaabbb, aaabbb, ... | |
xyz | 50 | 3 | checked | xyz_027_, xyz_049_, ... | |
500 | xxx | 0 | unchecked | 399xxx, 249xxx, ... |
LoadTracer will extract the values from server response and assigns to variable, which can be used in parameterization. Usually variables are used for sessionid, viewstate,
etc, mostly this types of values are stored in hidden form element.
To add a variable, first select a file in script pane and goto Test -> Create Variable... or Press F9
Add: To add new variable, enter a variable name in
Variable$ field and Name field will be depends on the type of funtion used which will be discussed later. Index default value will be 1 for example its possible in HTML there will be two text box with same name, if value has to be extract from second text box index value should be 2. The
variable name must be unique in same file for example if a variable is created by the name 'TMP1' in file no 3 then its not possible to create TMP1 again in same file, but
allowed in other files.
Update: To update existing variable.
Remove:To remove a variable, select a variable and click Remove button, but variable
should not be in used i.e, it should not be used in parameterization otherwise it will not be deleted.
In the above figure, the right most pane 'All Modified Parameters' shows
the parameters which are already parameterized. It shows FId - File Id, PId - Parameter Id, and parameter name. To update these parameters, select the parameter in the pane, edit
and click SET button.
Note: To update parameterization SET button has to be clicked
FUNCTIONS
Response from the server can be validated using Response Validator functionality. In some application internal server error messages are shown in custom format in that case instead of 500 Internal Server Error response code, 200 OK will be returned. So we can check the response content from the server and validate the data.
To add a response validator, first select a file in script pane and goto Test -> Response Validation... or Press F10
Check Validate checkbox and select one of the three
options.
To change the settings of individual request select the file from script pane change the settings and click SET button.
Server : Web address or server name
Port No : Port number of server, http default port number 80, https default port number 443
URI : Seconday address of URL.
Enabled: If this checkbox is checked this file will be simulated, other wise ignored in simulation process.
Think Time: Time taken by user between page click.
Protocol: HTTP 1.0 or HTTP 1.1
Secure: Checked if https otherwise http request.
Set: Update the settings for current node.
Set All: Update the settings for all the node.
Two types of reports can be generated from the recorder module. A brief report and detail report which can be saved in HTML format
The above figure shows the brief report generated by the Recorder module
Page section shows only primary page name for example if 'home.asp' contains
images the detail of the images will not be shown in this report and the time taken and bytes details of the secondary files are added to primary file itself
Request Time is the time taken to submit it request header from client to web server, but in the Recorder module ReqTime is represented as Request Time + User Think Time.
Think time is the time taken by the user between two pages.
Response Time is the time taken to receive entire bytes from web server for a particular request
Bytes Send is the total number of request bytes send to the web server
Bytes Received is the total number of response bytes received from the web server
Simulator can able to generate up to several thousand virtual users but the exact figure is depend upon complexity of the script, hardware, used. In real scenario different users access different pages on the same website, to emulate this scenario first different script has to recorded with different activities, and then you can add as many as scripts to a test. These scripts in the test can be made to simulate concurrently or sequentially. In sequential method each script is simulated in one at a time way, once a simulation of one script is over, automatically another script will be started. In concurrent method all the virtual users of all the script is released at the same time.
A Test is collection of script.
To create a new test first browse the folder which contains recorded script. The script will be shown in the 'Available Script' pane. Select the script and add to
Test. Once the necessary scripts are added to the test click ok and save the the test. To remove the script from the test just select the script from the Test and click
Remove.
A Test may have any number of script and there is no limit.
After creating new test the settings of the each script in the test can be modified using 'Test Settings' dialog box.
Scripts: This pane shows all the scripts which is selected in the current Test. To modify the settings select the script change the settings and click 'Apply' otherwise
settings will not be changed
Virtual User: Number of virtual users to be created for this particular script, vuser limit depends on LoadTracer license.
Iteration: By default every vuser perform one iteration. To perform more than one iteration use this option. It can be done in two ways, Iteration by Numbers for example if the
value is 5, all the vusers in this script will perform 5 iterations. Iteration By Time, in this method we have to specify time in minutes for example if the value 10 min, the
script run for 10 min and perform as much as iteration possible with in the time limit.
Note: This option can be override by vuser scheduler option.
Think Time: Think time is the time taken by the user while recording between events. Using the first option 'Replay Think Time From Script' the simulator emulate the think time as recorded.
To modify the think time use second option enter value in seconds and milliseconds. To disable think time enter value zero.
Cookie: if the web application uses cookie this option should
be enable other wise the Test may fail.
Parameterization: If the parameterization structure is already created with Recorder module, this option should be enabled to implement parameterization.
If this option is used without creating parameterization structure the default value will be used i.e. the value used at the time of recording.
Validate Server Response: If the
response validation is already set in the script in Recorder module, then this option should be checked to enable response validation.
A Test may contain more than one script and these script can be run sequentially or concurrently. Suppose each script is running sequentially and user wants to stop the simulation process by pressing stop button. The simulation process will not terminate immediately it will stop only after completing current running script. To stop immediately use second option, here the test will stop just completing the current request.
Before starting simulation process we can add and delete vuser to a script by clicking 'Add Vuser' and 'Delete Vuser' button in the tool bar. To add and delete more than one vuser at a time use this option.
During the simulation process the simulator will try to connect with the server if the connection not established it will try for 2 times which is default option to try
more than 2 time change this option.
During simulation process the simulator send request to the server waits for server response, the simulator wait for 120 sec which
is default value if the simulator did not get any response from the server with in this time limit, simulator moves to the next request. To change the receive time out period
use this option .
A Proxy is a intermediate server instead of communicating directly with the server simulator can able to connect with the proxy server and redirect all its request to proxy. To use the proxy server specify the proxy name (computer name) and port number where it is listening.
Iteration Speed...Iteration is nothing but a vuser completes its process and repeat the process once again. Using this option we can give delay between each iteration or start the iteration as soon as possible.
Error (Stop)...During simulation process errors may occurs like, HTTP error like client side error with 4xx error code and server side error with 5xx error code, receive time out error and Response Validation fail, to stop the vuser during these errors use first option. To continue even these error occurs use second option.
Vuser Log...During simulation process full vuser log can be generated which contains request header, response header and html content. To log only HTTP header information use third option. To log HTTP header and full content for error use fourth option.
User-AgentUser-Agent is the client name used to interact with the server, in case of recording process it may be IE, or Firefox, or safari, etc, while simulation default user-agnet name will be used as LoadTracer, but it can be customized to other client browser name like, IE, Firefox, Safari with different version.
Release all vusers concurrently is the default option where all the vuser goes from the ready state to running state almost at the same time, using second option we can schedule the vuser to release N vuser for ever N sec. Here release means moving from ready state to running state.
Execute...
The default option is execute until completion, the simulation process start once completed it end the process. Using second option execute for N minute after releasing all vuser once all the vuser moves from the ready state to running state it should simulate for N min. If the third option is used the simulator will never stop user has to stop the simulation process manually by pressing stop button.
Windows performance counter log is integrated with the simulator. It runs independently with the simulation process. User has to just select the local computer counters
or remote computer counters from the counter selection window, start the log and at the end stop the log.
Use windows performance monitor to analyze the log file.To log
the performance counter go to Performance - > Browse Counter or press Ctrl+B. Select the counter and press OK.
In the Performance counter Pane select the necessary
counters by clicking the check boxes, and then go to Performance -> Start... A dialog box shows the performance log settings, click Start to begin the logging process. To stop
the performance log process go to Performance-> Stop.
This window shows the status of all the script in the test.
To open this window double click the particular script in script status pane
This window shows the status of the all vuser of a selected script.
This window show the detail information of each vuser to open this window just double click the vuser in Vuser Status window.
This window show the detail information of each vuser to open this window just double click the vuser in Vuser Status window.
Analyzer will produce many types of graph and reports for analysis purpose. These reports can be exported HTML format. Reports are based on virtual user detail, request detail, classification-based reports and summary reports.
This pie chart shows the number of vuser pass, fail and stop.
Web server return response with response header which contains the response code or HTTP Status Code.
The Running Vusers graph displays the number of Vusers that are currently running. This graph is useful for determining the Vuser load on your server at any given time.
The x-axis represents the elapsed time from the beginning of the script. The y-axis represents the number of Vusers running in the given script.
Bytes Send/Sec represent the number of bytes send to the web server by the client (simulator) in the form of request during each second of the simulation process.
Bytes Recv/Sec graph shows the the amount of throughput on the server during each second of the simulation process. The amount of data received from the web server at any give second.
The Hits per Second graph shows the number of HTTP requests made by Vusers to the Web server during each second of the simulation process.
The Response per second graph shows the number of successful HTTP response given by the Web server during each second of the simulation process.
Text Files/Sec graph shows the number of text files (htm, asp, aspx, jsp, css, js, vbs, php, etc) received from the web server.
Binary Files/Sec graph shows the number of binary files (images, media files, etc) received from the web server.
Further Response/Sec graph is classified into 2xx, 3xx, 4xx, and 5xx Response/Sec graph. Every time a response received from the server, the http response header has a
response code on the basis of this, these graph are generated.
The graphs are 2xx Response/Sec, 4xx Response/Sec, 5xx Response/Sec
During simulation process number of Tcp connections get open and closed frequently and stay open for a period of time. These three graphs represent number of TCPConnections Open/Sec, number of TCPConnections Close/Sec, and TCPConnections which represents number of TCP Connections in open state at any time.
This graph represents number of virtual user successfully completes its process per second and number of virtual user fail per second The graph below shows the VUser passed per second and VUser fail per second.
For each file there will be only two operation sending request (hit) and receiving data (Response) both this operation is represented as Action. This graph represent number of action took place per second.
Different type of errors occurs during the simulation process like socket errors, receive time outs, HTTP errors. The Error/Sec graph represents any error occurs per second. Socket Error/Sec graph shows only the socket error occurs per second, Receive timeout Error/Sec graphs shows number of timeout occurs per second, HTTP Error/Sec graph shows the number of HTTP error occurs per second.
Percentile graph are generated by arranging all the vuser in ascending order according to transaction time of vuser, and taking maximum value from each percentage of vuser.
This graph shows average transaction time (time taken by each request and response) during each second of the simulation process.
This is a summary report, which briefly shows the status of the simulation process.
This is the summary report of each vuser.
This report is classified based on Vuser, Content-Type, HTTP-Method, and HTTP-Status Code.
This report is the summary information of each file in the script.
Error Report is broadly classified into three types of error, socket error, receive timeout error, and HTTP error.
The sample tables shows the Socket error,
Receive timeout error, and HTTP error information that occurs during simulation process. It provides following information's vuser no, iteration no, file id, file name and
error code. To know more about the error click on the error code to show the description.
We can see the detail information about particular Vuser in particular iteration through this window
We can see the detail information about a particular file through this window. To view detail information by Vuser Click here.
Reports can be exported to HTML format and .CSV format.
To generate HTML report go to File -> Export to HTML... or Press Ctrl + R and save the report
To export report in csv format go to File -> Export to Excel... or Press Ctrl + E and save the report.
Select the appropriate report color and graph color using drop down box.