Wednesday 24 September 2014

How to Set Proxy Values for all the Ajax TruClient Scripts

LoadRunner launches Firefox in a temporary profile every time a script is opened for development.
To make the proxy settings available across all these profiles please use the global profile settings.
.
To do this:

• Open VuGen.
• Open an Ajax TruClient script.
• Go to Tools > Ajax TruClient Browser Options…
• In the dialog that opens (“Ajax TruClient Browser Configuration”), select the Proxy tab and
define the appropriate Proxy settings.
• In the script, open the Run-Time Settings dialog and then select the General > Other Settings
node.
• In the Proxy selection node select the “Use global proxy settings” option. This will make sure
that every time the script is opened for development the proxy settings are refreshed from
the Ajax TruClient Browser Options.

The Run-Time Settings also enable defining specific proxy settings for each script.

Saturday 20 September 2014

what exactly is scripting?

A script is.......................
a series of statements that tells an application to perform a set of tasks.
The trick is writing the statements in a language that the applications understand.

If you work in Mac OS®, your choices are:
● AppleScript
● JavaScript
If you work in Windows®, your choices are:
● VBScript (Visual Basic and VBA will also work)
● JavaScript

The brief descriptions below can help you decide which language will work best for you.

AppleScript:
AppleScript is a "plain language" scripting language developed by Apple. It is considered one of the
simplest scripting languages to use.
To write AppleScript scripts, you can use Apple’s Script Editor application, which, in a default Mac OS
installation, is located at:
system drive:Applications:AppleScript:Script Editor.

JavaScript:
JavaScript is a very common scripting language developed originally to make Web pages interactive. Like
AppleScript, JavaScript is easy to learn.
JavaScript has a few small advantages over AppleScript and Visual Basic:
● Your scripts can be used in either Windows or Mac OS. If there’s a chance you’ll want to share or use
your scripts on both platforms, you should learn to use JavaScript.
● In Illustrator and InDesign, you can access scripts in any of the supported languages from within the
application. However, in Photoshop, you can access only .jsx files from within the application. You must
run AppleScript or Visual Basic scripts from outside the application. This is not a major drawback, but it
does require a few extra mouse clicks to run your scripts.
● You can set up .jsx scripts to run automatically when you open the application by placing the scripts in
the application’s Startup Scripts folder. For information on startup script folders, refer to the scripting
guide for your application.
To write scripts in JavaScript, you can use any text editor, or you can use the ESTK (ExtendScript Tool Kit)
provided with your Adobe applications.

VBScript:
VBScript is a scaled-down version of the Visual Basic programming language developed by Microsoft.
VBScript talks to host applications using ActiveX Scripting. While VBScript is the Visual Basic language
version officially supported by CS3, you can also write scripts in VBA and Visual Basic itself.
You can find several good VBScript editors on the Internet. If you have any Microsoft Office applications,
you can also use the built in Visual Basic editor by selecting Tools > Macro > Visual Basic Editor.

What is ICA – Independent Computing Architecture?

To start at the beginning, ICA stands for Independent Computing Architecture. It is a protocol used in Citrix XenApp / XenDesktop (or previously Presentation Server, MetaFrame, WinFrame) to separate the application logic (which runs on a remote system, usually in a datacenter) and the presentation (on the client).
In a nutshell what this protocols does is sending input from the client (like keyboard, mouse, audio, etc.) to the remote system and receive the output (like video, sound, etc.) from the remote system via the network. On the client (a workstation, laptop or thin client) a piece of software is used to handle this traffic. At the moment of this writing the Citrix Receiver is used.

Files with the extension .ICA contain information required  to connect to the remote system, including session properties and (optionally) authentication.


When are .ICA files used?
.ICA files are used in many applications that allow you to connect to a Citrix XenApp / XenDesktop environment. Most common used are the Citrix Web Interface and the Citrix CloudGateway, but third party applications like Denamik LoadGen use .ICA files as well. Usually the use of .ICA files is temporarily and hidden for the end user, which is a good thing.

Web portal default configuration
When you launch a published application / desktop via the web portal supplied by Citrix (WebInterface,  StoreFront or VDI in a box) a default configuration is applied. You can alter the default configuration to meet your needs, if it isn’t available in the management console (most settings are not configurable via the management console). The default configuration is stored in a default.ica file.
The location of the default.ica depends on the platform you’re using and the name of the site.
Since both WebInterface and StoreFront are integrated in Microsoft Internet Information Services (IIS) the configuration is stored in a directory in the %SystemRoot%\inetpub (default location). For each site a directory is created which you specified when you created the site.

Assuming you’ve used the default site name, these are the locations where the default configuration is stored:

Platform
Version
Type
Location
Web Interface
5.x
XenApp
\inetpub\wwwroot\Citrix\XenApp\conf

4.5 / 4.6
XenApp
\inetpub\wwwroot\Citrix\AccessPlatform\conf

4.0
XenApp
\inetpub\wwwroot\Citrix\MetaFrame\conf

All
XenApp services / PNAgent
\inetpub\wwwroot\Citrix\PNAgent\conf
StoreFront
All
All
\inetpub\wwwroot\Citrix\Store\App_Data
VDI in a box
All
All
/home/kvm/install/servlet_container/webapps/

dt/WEB-INF/etc/proto.ica (not default.ica!)

Overview of Proxy Servers (RP)

A reverse proxy is a Software, Service or even device placed between a client and a server in a network infrastructure. Incoming requests are handled by the proxy, which interacts on behalf of the client with the desired server or  service residing on the server. (Apache, Nginx, Squid, ISA 2006, TMG 2010, IAG 2007, UAG, IBM WebSeal)
Act primarily on behalf of internal hosts receiving, rebuilding, and forwarding outbound requests
Goes by many names
Proxy services
Application-level gateways
Application proxies

Web Application Firewall (WAF)

Advantages of Proxy Servers (RP) 
Caching
Intelligent compression
Traffic management services such as Application Layer Security (WAF), 
Web Acceleration (XML accelerator)
Secure Remote Access.
SSL Acceleration & SSL Off Loading
Load Balancing give us scalability and availability.
Strategic point in the network to enable / implement / enforce:
Web application security through WAF
Application delivery firewalls
Deep content inspection to mitigate data leaks
IDM SSO Solution
Federated security services for multiple applications

Run Time Settings in VuGen/LoadRunner

In general load runner runtime settings plays a crucial role in Vugen scripting and scenario running.This is the heart of the Load runner.The run time settings are
General
  • Run Logic 
  • Pacing 
  • Log 
  • Think Time 
  • Additional attributes 
  • Miscellaneous 
Network
  • Speed simulation
Browser
  • Browser emulation
Internet Protocol
  • Proxy
  • preferences
  • download filters
  • Content check
Data Format Extension
  •  Configuration

General 
Run Logic 


Whenever we are using a Vuser type that allows multiple actions in a single script, we will create a separate action for each business process and put appropriate percentage weightings on each action. We don’t usually use the “sequential” option or create blocks unless I need to have fractional percentage weightings for a business process.
Percentages must be integer values, so to run a business process 0.1% of the time you could create a block that runs 1% of the time, and put an action in the block that runs 10% of the time.
It’s also rare to set a script in a scenario to run for a specified number of iterations (mostly done by time or set to run indefinitely). Generally “number of iterations” is only used when running the script in VuGen. 

Pacing :


“As soon as the previous iteration ends” is used when running in VuGen or when loading/verifying data. Do not use this for load testing
We have never seen the point of the “After the previous iteration ends” option. Why would you want to run an unknown number of transactions per hour against the system?
Don’t use the “At fixed intervals”. If something causes your users to become “in step”, they will tend to stay that way and continue to all hit the server at the same time.
“At random intervals” is definitely the way to go. Obviously for your users to create a certain number of orders per hour the iteration time must average to 3600/num iterations in an hour. Do not make the lower boundary value any bigger than the maximum time it takes to complete the business process, or you will end up creating less transactions per hour than you intend to.

you can check how to calculate pacing according to the requirement from this blog also.

Log :

Enable logging:once you verify that your script is functional,disable logging to conserve resources.
Logging creates additional overhead on your load generators, and can create huge log files. 

Log absolutely everything when debugging in VuGen.
When running the script as part of a scenario, We leave extended logging on but change the logging to “Send messages only when an error occurs”. This gives a little more information than turning logging off entirely, and won’t create any additional overhead while everything is running smoothly (and if the system is not running smoothly you are going to need to stop the test and investigate anyway).

Standard log:sends a subset of functions and messages sent during script execution to a log.The subset depends on the Vuser type.

Think Time:
Just like the pacing setting, We think that it is a good idea to put some randomness in your think times.
We use a random percentage of 50-150% of recorded think times.
Use “Ignore think time” if you are debugging in VuGen or if you are loading/verifying data. 



Additional attributes :


This option is ignored by most people. It is used to create a parameter with a given value without having to edit the script (as runtime settings can be overridden in the Controller).
In the screen shot we have created a parameter of Server Name with the address of the test environment. If you were testing in more than one test environment at a time, this would make save some time.

Miscellaneous :

Continue on error is generally only going to be used if you have written code to do something when you encounter an error. Usually the default behaviour of ending the current iteration and then starting the next one is sufficient). We don’t advise anyone to try to write a script that handles errors in the same way as a real user because it will create a lot of additional work for very little benefit, but doing something simple like writing some useful information to the logs and then calling lr_exit(LR_EXIT_ACTION_AND_CONTINUE , LR_FAIL) can be useful.
“Fail open transactions on lr_error_message” should always be ticked. If you are raising an error, you should fail the transaction step that you are performing.
“Generate snapshot on error” is useful. If it is a web script, any error messages should be added to your content check rules.
Run your virtual user as a thread unless you have code that is not thread safe or there is some other reason to run your virtual users as a process. The overall memory footprint on your load generators will be higher if you run as a process.
We never use the “Define each action as a transaction” option. If we want a transaction in our script we will add it myself with lr_start_transaction.
We never use “Define each step as a transaction” either. If it is a web script, we can use the transaction breakdown graph to get this information, otherwise we will add the transactions ourself. 



Network :

Not all vuser types have this option available.
Most of the time my virtual users will use the maximum bandwidth.
If we want to emulate users with bandwidth constraints, we will do this in a separate scenario.
Google calculator is handy to calculate bitrates if your bitrate is not available from the drop-down list e.g./ “256 Kbps in bps”
All of the following settings only apply to web-based scripts. Each vuser type will have its own runtime setting options. It is important to know what they mean and how they will influence your
test results before running any tests that you plan to report on. 





Browser

Browser Emulation: 


Some people get confused by the User-Agent (browser to be emulated) setting. If 90% of your users use Internet Explorer 6.0 and the rest use Firefox 1.5, you don’t have to change the runtime settings for your users to match this. All it changes is the string that is sent in the “User-Agent” field of your HTTP requests. This is completely pointless unless your application has been written to serve different content to different browsers based on the User-Agent field. 





Internet Protocol:

Proxy : 


Generally people won’t be using your web applications through your proxy server, so it shouldn't be part of your test either.
If you start getting errors that are due a proxy server rather than the system under test, it will just confuse the people who have to fix the problem.
A proxy server will also make IP-based load balancing ineffective.
If it’s an intranet application and everyone will be using the application through the company’s proxy, then the proxy server should be explicity declared to be in scope for your load test. You should make sure that you have an identical proxy server for your test environment, or that you have permission to be generating load on a piece of Production infrastructure. 





Preferences :

These settings are default values specified by HP, rather than being inherited from the web browser that is installed on your workstation. Generally you will not need to change them, but be aware that they are here.





Download Filters: 

Download filters are a quick way of preventing your scripts from downloading content from certain URLs or hosts/domains.
We generally use this feature when the web application in the test environment contains third-party images used for tracking website usage (e.g. images from Webtrends or Red Sheriff etc). We think it is better to specify which hosts your script is allowed connect to, rather than which hosts your script can’t connect to (because it’s easy to miss one accidentally, or the application may change and refer to a new third-party domain).
Use web_add_auto_filter if you want to specify this in your script rather than your runtime settings. 





Data Format Extension:

Configuration :


A LoadRunner feature that has made my life a lot easier has been ContentCheck rules, which are available in the script runtime settings. If you are using a web-based vuser type, you can configure your Load Runner script to search through all returned pages for strings that match known error messages.

Using web_reg_find functions is fine, but when you get an error LoadRunner reports it as “failed to find text” instead of something more descriptive.
We will always create rules for any error messages we find during scripting and, if we receive an error while running a scenario, we will add the error message from the snapshot in the scenario results directory (the snapshot on error feature is very useful). 





If you prefer to have error message you are checking for in the script (where you can add comments to them) instead of the runtime settings, you can use the web_global_verification function instead. The only difference between the two is the error message that LoadRunner will include in its log:

Action.c(737): Error -26368: “Text=A runtime error occurred” found for web_global_verification (“ARuntimeErrorOccurred”) (count=1), Snapshot Info [MSH 0 21]

…compared to:

Action.c(737): Error -26372: ContentCheck Rule “ARuntimeErrorOccurred” in Application “Webshop” triggered. Text “A runtime error occurred” matched (count=1), Snapshot Info [MSH 0 21]


Source: http://easyloadrunner.blogspot.in

Thursday 18 September 2014

C Language functions in LoadRunner

In LoadRunner, you can add C Vuser functions to any Vuser script in order to enhance the script. VuGen generates only a few of the general Vuser functions while you record. If required, the remaining functions can be manually programmed into a script.

As per my knowledge, below is a list of general transaction API functions for ANSI C scripts.

Transaction Functions:

1. lr_end_sub_transaction --> Marks the end of a sub-transaction for performance analysis.

2. lr_end_transaction --> Marks the end of a transaction.

3. lr_end_transaction_instance --> Marks the end of a transaction instance for performance analysis.

4. lr_fail_trans_with_error --> Sets the status of open transactions to LR_FAIL and sends an error message.

5. lr_get_trans_instance_duration --> Gets the duration of a transaction instance specified by its handle.

6. lr_get_trans_instance_wasted_time --> Gets the wasted time of a transaction instance by its handle.

7. lr_get_transaction_duration --> Gets the duration of a transaction by its name.

8. lr_get_transaction_think_time --> Gets the think time of a transaction by its name.

9. lr_get_transaction_wasted_time --> Gets the wasted time of a transaction by its name.

10. lr_resume_transaction --> Resumes collecting transaction data for performance analysis.

11. lr_resume_transaction_instance --> Resumes collecting transaction instance data for performance     analysis.

12. lr_set_transaction_instance_status --> Sets the status of a transaction instance.

13. lr_set_transaction_status --> Sets the status of open transactions.

14. lr_set_transaction_status_by_name --> Sets the status of a transaction.

Tuesday 16 September 2014

Introduction to Business Service Management Gateway, DPS and Database servers

BSM Gateway server takes various responsibilities like connecting to the Data Collector, distributing data to other BSM component, running BSM applications, Operating BSM Administration Console, providing BSM interface & Repots.
BSM Data Processing server is takes various responsibilities like Aggregating and partitioning data, running business logic engines & controlling CMDB- related services.
Database server consists of Management Database & Profile database, Business Process Insight Database, Operations Management Database, RTSM, RTSM history.
Management database: For storage of system-wide and management related Metadata for the HP Business Service Management environment. HP Business Service Management requires one management database. You can create this database manually, or by using the Server and Database Configuration utility.
Profile database(s): For storage of raw and aggregated measurement data obtained from the HP Business Service Management data collectors. Although only one profile database is required, you can store profile data in multiple databases, if required. You can create profile databases manually, or by using the Database Management page, accessible from Admin > Platform > Setup and Maintenance.
Business Process Insight Database: For storage of the Business Process Models created using the Business Process Insight Modeler.
Operations Management Database: For storage of operations management events and related data, such as annotations, as well as for storage of operations management configuration data, such as event Correlation rules
RTSM: The Run-time Service Model contains the following databases
RTSM: For storage of configuration information that is gathered from the various HP Business Service Management and third-party applications and tools. This information is used when building HP Business Service Management views.
RTSM History: For storage of changes, over time, of the CMDB configuration items (CIs). Users can view CI changes as well as view snapshots.

Using Netstart and Netstop Commands for SiteScope on Windows/Solaris and Linux OS

Windows:

You can also start and stop the SiteScope service by using the netstart and
netstop commands.

To start the SiteScope service using netstart:
1 Open a command line window on the server where SiteScope is installed.
2 Run the netstart utility using the following syntax:
net start SiteScope

To stop the SiteScope service using netstop:
1 Open a command line window on the server where SiteScope is running.
2 Run the netstop utility using the following syntax:
net stop SiteScope

Solaris/Linux:

To start the SiteScope process on Solaris and Linux:
1 Open a terminal window on the server where SiteScope is installed.
2 Run the start command shell script using the following syntax:
/SiteScope/start

To stop the SiteScope process on Solaris and Linux:
1 Open a terminal window on the server where SiteScope is running.
2 Run the stop command shell script using the following syntax:
/SiteScope/stop

Monday 15 September 2014

Load Runner Script Structure

A virtual user script can be made up of a number of different sections, each performing a different action, with each section handled differently by the compiler and controller during test execution.


•    vuser_init - The initialization phase of the script

•    action - The body of the business process, to be iterated

•    {more actions} - Further actions within the process

•    vuser_end - The close down, or housekeeping phase of the script.


When recording the business process and enhancing the virtual user script, the following standards must be applied to the structure of the script to ensure it is recorded in a consistent and supportable manner.

vuser_init

This section is executed once, when the virtual user is brought up and initialized, and contains any information necessary to enable the virtual user to log onto an application. It will also hold any directives to load function libraries, and to hold any functions unique to that particular script. Often, it will contain nothing but the script header block.


Generally it will contain:


•    #include file references

•    #define directives

•    Script headers

•    User defined functions

•    User login details


Each virtual user script contains exactly one ‘init’ section, and therefore there is no need for it to be renamed.

Action

The action section is the part of the script that performs the iterative work of the business process. The contents may be iterated hundreds if not thousands of times, and therefore should not hold any irrelevant content such as functions.


The default name is 'action'.  Even in a single action script, the main transaction should be named.  Thus, if the script is run with other scripts in a mixed traffic test, each type of action may be clearly distinguished in the resultant outputs.


In a more process intensive script, more than one action may be involved to enable tighter control on processing and flow control. In this case, each action should be given a meaningful name within the script, which need follow no standard convention save that it needs to be readable. Generally, if a script can be broken down into logical units, then the use of individual named actions should be seriously considered.

vuser_end

As with the ‘init’ section, this section is executed only once, either after the completion of the appropriate number of iterations, or by initiation of the controller during scenario ramp-down.


Should it be appropriate for the application and business process to log off in a controlled manner, it will occur in this section. It serves no other purpose, and occurs exactly once in each script. There is no requirement to rename this section.

Sunday 14 September 2014

What are .OST and .PST Outlook files?

There are two types of files of outlook:

1. OS -- .OST stands for Offline Storage Table. OST files stores the offline work and as soon as the server is connected and MS Outlook turns online. But it gest stored in default location. Due to OST files, you can work offline as well and server is automatically synced

2. PST-- .PST stands for Personal Storage Table. You can create it and save your information. It is always recommended that we should keep PST file in different location

Outlook Data Files (.pst and .ost) created by using Microsoft Outlook 2010 are saved on your computer in the "My Documents\Outlook Files" or "Documents\Outlook Files folder".

What is HP LoadRunner?

HP LoadRunner software allows you to prevent application performance problems by detecting bottlenecks before a new system or upgrade is deployed. The testing solution LoadRunner enables you to test rich Internet applications, Web 2.0 technologies, ERP and CRM applications, and legacy applications. It gives you a picture of end-to-end system performance before going live so that you can verify that new or upgraded applications meet performance requirements. And it reduces hardware and software costs by accurately predicting application scalability and capacity.

How it works?

Load Runner is divided up into 3 smaller applications:

The Virtual User Generator allows to determine what actions you would like the Vusers, or virtual users, to perform under stress within the application. You create scripts that generate a series of actions, such as logging on, navigating through the application, and exiting the program.
The Controller takes the scripts that you have made and runs them through a schedule that you set up. Tell the Controller how many Vusers to activate, when to activate them, and how to group the Vusers and keep track of them.
The Results and Analysis program gives you all the results of the load test in various forms. It allows to see summaries of data, as well as the details of the load test for pinpointing problems or bottlenecks.

LoadRunner can emulate hundreds or thousands of concurrent users to put the application through the rigors of real-life user loads, while collecting information from key infrastructure components (Web servers, database servers etc). The results can then be analysed in detail, to explore the reasons for particular behaviour.

The LoadRunner Testing Process


Planning the Test
Creating the Vuser scripts
Creating the Scenario
Running the Scenario
Analyzing Test Results
HP LoadRunner in the Cloud

In May 2010, HP announced that an on-demand version of the application performance testing software would be available via Amazon Elastic Compute Cloud. HP LoadRunner in the Cloud is offered as beta software in the U.S. and is available with pay-as-you-go pricing. The software is intended for performance testing for businesses of very big size. HP LoadRunner in the Cloud is part of a portfolio of cloud computing solutions offered by HP Software Division.

Saturday 13 September 2014

General ports required for making connection with Sitescope tool

Below is the prerequisite we require for the new servers in order to establish the connection with Sitescope tool.

WMI/NETBIOS 135-139
Sitescope Web server 8080
FTP Monitor 21
Mail Monitor 25 (SMTP), 110 (POP3), 143 (IMAP) News
Monitor 119
Ping Monitor packets
SNMP Monitor 161 (UDP)
URL Monitor 80,443
Remote Windows Monitoring 139
Email Alert 25
Post Alert 80,443
SNMP Trap Alert 162 (UDP)
Remote UNIX ssh 22
Remote UNIX Telnet 23
Remote UNIX rlogin 513

Sitescope Monitor Output Error Codes

Below are some of the error code which we get as a monitor run output on Sitescope dashboard:


  • URLPermissionDenied = -982               "Permission denied"
  • SOAPFaultError = -983 
  • XMLElementNotFoundError = -986     "XML element not found"
  • XMLFormatError = -987                      "XML format error"
  • XMLElementMatchError = -988           "XML element value mismatch"
  • URLContentErrorFound = -989             "content error found"
  • URLContentElementMissing = -990       "content element missing"
  • URLNoStatusError = -991                    "no status in reply from server"
  • MonitorSpecificError = -992; 
  • URLNoRouteToHostError = -993        "unable to reach server"
  • DLLCrashedError = -994                     "internal error in WinInet library"
  • URLContentChangedError = -995        "content changed"
  • URLTimeoutError = -996                     "timed out reading"
  • URLBadHostNameError = -997           "unknown host name"
  • URLNoConnectionError = -998           "unable to connect to server"
  • URLContentMatchError = -999            "content match error"
  • URLUnknownError = -1000
  • DNSIPAddressMismatch = -1001        "ip address does not match"
  • URLRemoteMonitoringError = -1002    "unable to connect to remote monitoring server"
  • URLConnectionClosedError = -1003    "connection reset"

How to Insert Caching Functions in Web (Http/Html) Protocol in Load runner

This task describes how to use caching functions. Caching functions allow
you to save stored data into your browser’s cache, and load it at a later point
in the script.

To use the caching functions:

1 Insert the web_dump_cache function into your script.

2 Run the script at least once.

3 Insert the web_load_cache function into your script before the Vuser
actions.

4 Comment out the web_dump_cache function.

5 Run and save the script.


Example:
The following example illustrates a PeopleSoft Enterprise Vuser viewing the
details of his paycheck

Action()
{
// web_add_cookie("storedCookieCheck=true; domain=pbntas05; path=/");
web_load_cache("ActionLoad","FileName=c:\\temp\\{VuserName}paycheck",LAST);
web_browser("signon.html",
DESCRIPTION,
ACTION,
"Navigate=http://pbntas05:8200/ps/signon.html",
LAST);
lr_think_time(35);
web_edit_field("userid",
"Snapshot=t1.inf",
DESCRIPTION,
"Type=text",
"Name=userid",
ACTION,
"SetValue={VuserName}",
LAST);
web_edit_field("pwd",
"Snapshot=t2.inf",
DESCRIPTION,
"Type=password",
"Name=pwd",
ACTION,
"SetValue=HCRUSA_KU0007",
LAST);
lr_start_transaction("login");
web_button("Sign In",
"Snapshot=t3.inf",
DESCRIPTION,
"Type=submit",
"Tag=INPUT",
"Value=Sign In",
LAST);
lr_end_transaction("login", LR_AUTO);
web_image_link("CO_EMPLOYEE_SELF_SERVICE",
"Snapshot=t4.inf",
DESCRIPTION,
"Alt=",
"Name=CO_EMPLOYEE_SELF_SERVICE",
"Ordinal=1",
ACTION,
"ClickCoordinate=10,10",
LAST); …
web_text_link("Sign out",
"Snapshot=t7.inf",
DESCRIPTION,
"Text=Sign out",
"FrameName=UniversalHeader",
ACTION,
"UserAction=Click",
LAST);
/*web_dump_cache("paycheck","FileName=c:\\{VuserName}paycheck",
"Replace=yes", LAST);*/
return 0;
}

Wednesday 10 September 2014

What is this "Wasted Time" in LR script replay?

Question
When I reply the script in VuGen, the following message is displayed in Output window -

Script_Name(LineNumber): Notify: Transaction "Transaction Name" ended with "Pass" status (Duration: 134.8640 Wasted Time: 2.0757).

What is this "Wasted Time"?
What is the significance of "Wasted Time"?

Answer
 From the product help:
Time spent on activities whose purpose is to support test analysis, but would never be performed by a browser user.

So what does it actually mean?
Here are a few examples:
Siebel-Web protocol – first web_reg_save_param… step that uses Siebel correlation library takes time on DLL  invocation and this time reported as “wasted”.
The similar case exists with openSSL components (additional 1 second before handshake).
Time spent of text search (web_reg_find) also reported as “wasted”.
So basically it is the time that was wasted in LR code which would not be wasted by a real user.