Thursday 20 November 2014

Sitescope Unix CPU script monitor

CPU script monitor created after building a script and deploying the same in scripts.remote folder.

Script used:
Idle=`mpstat -P ALL 2 3 | grep ^Average | awk '{print $11}' | head -n 2 | tail -n 1`
Wait=`mpstat -P ALL 2 3 | grep ^Average | awk '{print $6}' | head -n 2 | tail -n 1`
echo "scale=2; 100-"${Idle}+${Wait}"" |  bc –l

Note : Here print $ value positions may change

Logic:
Here the 1st command fetches the 11th value in the average row say “A”
Second command fetches the 6th value in the average row say “B”
Third command adds the above two values (A+B) and subtracts the results from 100 to give the %utilization.

Formula:
%Utilization = 100 – (%Idle + %Wait)



Wednesday 22 October 2014

Difference between socketlevel and WinInet modes in load runner

WinINet uses the Microsoft interface to the internet.
Starting with version 7, Load Runner uses Sockets mode replay by default.This was also known as Turbo replay. Socket/Turbo replay utilizes its own interface to the network card. This proprietary replay engine is a lighter engine that is scalable for load testing.

The older WinInet replay, which can be enabled in Load Runner by selecting "WinInet replay instead of Sockets (Windows only)", uses the Microsoft WinInet DLL to talk to the network card. The limitations of the WinInet replay engine are that it is not scalable, nor does it support UNIX. In
addition, when working with threads, the WinInet engine does not accurately emulate the modem speed and number of connections. However, The WinInet is the engine used by Internet Explorer. It supports all of the features incorporated into the Internet Explorer, and thus, WinInet replay can
resolve some replay errors.

 attribute :
1) Additional attribute will be read from the run time settings of controller or VuGen.
2) We can pass the values to VuGen test script from the run time settings.
3) When you you change the value of the additional attribute, you do not have recompile or restore the test script in controller.

variable :
1) Variable will be defined in VuGen, based on the C data type.
2) Variable will be used for capturing any run time values or function return values.
3) When you change the value of the variable in the script, you have to recompile or restore the test script in controller.

parameter :
1) Parameter will be defined in VuGen to store parsed response results for server dynamic values like user session id, item id which are automatically generated by the server .
2) Parameter will be used in the subsequent requests to successfully play back the script with captured dynamic server values .
3) When you change the parameter settings, you have to recompile or restore the test script in controller

WinInet “weighs” more in terms of over all system resources as it is integrated with the Microsoft security APIs. The sockets option, what used to be known as Turbo load  was developed to allow for lighter weight virtual users to exist in larger quantities on a given reference hardware definition (Load Generator). The core change is on playback, if you need integration with the Microsoft security infrastructure, i.e. using web_set_user() you will need to use WinInet and you will need to use Windows Load Generators. And yes, these users will use more system resources.

The default is sockets. Unless you need to integrate directly with a security infrastructure for user authentication you will likely not need WinInet. You use this mostly when you have recording issues related to security, consider the use wininet as a workaround since the sockets mode with the required port mappings is the correct solution.

Note:When an application fail in recording, you can try by switching between the two modes. Whereas when the application fails in replay, try switching the modes also.

Thursday 2 October 2014

What is Think Time in a script?

Using think times within a LoadRunner script is the method for providing emulation of a realistic business process, running at a realistic speed.

During script recording, the recording setting must include think times as recorded. If for whatever reason, the think times that are recorded are not realistic, then the times scripted must be adjusted to reflect testing objectives.

If transactions are inserted during recording, be aware that this will distorting the think times. In this case, manual correction will be required.

During execution, to introduce the random element that would be present in any business environment, standard runtime settings are to be set for between 80% and 120% of recorded think time. This will ensure a 20% deviation, and ensure a complete mix of business processes during execution. This runtime setting can be amended if required by the project, but this amendment must be detailed in the test plan.

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.

Tuesday 5 August 2014

Common Problems faced while recording Citrix ICA script in Vugen

Question: When recording against a Citrix Nfuse website using Multi-Protocol, after clicking on the published application icon to create a connection to the Citrix server, an SSL Certificate Error appeared.

Solution:  To get past the errors please do the following:
a.            In the port-mapping tab, delete the current entry for port 443 and add the following 2 entries as shown:



b.      The port-mapping tab should look like the following after both entries are entered.  Be sure to UNCHECK the entry for the Citrix server.



c.    Record a new script and the error should not occur again.

Question: During recording, there is a window titled “ICA Seamless Host Agent” that pops up.When manually logging into the application there is no such popup.

Solution:This popup is a result of the mode that VuGen is recording in.The Citrix solution requires that LoadRunner record in this mode.This is an informative window popup and not an error.  To work around it, simply click on OK and it will go away.

Q.Internet Explorer disappears during a Multi protocol Nfuse recording as soon as the Citrix ICA client is launched.
S.Check to see if the machine has been set up to record against multiple processes.Go to the registry editor to;

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

and check to see if it’s pointing to bbhook.dll.If it is then remove the entry and then reboot the machine.

Q.Internet Explorer disappears or crashes during a Multi protocol Nfuse recording as soon as the browser is launched.
S:Check to see if the machine has any Anti-Virus software running.Try shutting down the Anti-Virus services.If you have McAfee Anti-Virus installed, shut down the following services:

·AVSyncManager
·McShield

If you have Norton Anti-Virus installed, shut down the Norton Antivirus service from the services menu.

Q.The Citrix ICA client window is minimized after it is launched during recording.  Clicking on the icon on the taskbar does not bring it up.
S:Right click on the Citrix ICA Client icon on the taskbar and select maximize.This will bring the client back to the restored view. Adjust the window size as necessary.Do not minimize the Citrix ICA Client window during replay, as this will cause the same problem to occur again.

Q.The Recording Options in VuGen is NOT reflecting the changes being made in it.The user changes the information,clicks on OK, but when going back to the Recording Options the information is still not changed.
S.Click on the “Use Defaults” button to clear the information and then re-enter it again Or,you can go to the \dat directory and look for citrix_ro.ini.This file contains information from the Recording Options.Make sure the changes are being reflected here.

Sunday 3 August 2014

Citrix Protocol in load runner Recording Tips

When recording a script, be sure to follow these guidelines in order to create
an effective script.

Single vs. Multi-Protocol Scripts
When creating a new script, you may create a single protocol or multi-protocol script. If you plan to record a simple Citrix ICA session, use a single protocol script. When recording an NFUSE Web Access session,
however, you must create a multi-protocol script for Citrix ICA and Web (HTML/HTTP), to enable the recording of both protocols.

Record into Appropriate Sections
Record the connection process into the vuser_init section, and the closing process into the vuser_end section. This will prevent you from performing iterations on the connecting and disconnecting.

Run a Clean Session
When recording a session, make sure to perform the complete business process, starting with the connection and ending with the cleanup. End your session at a point from where you could start the entire process from
the beginning. Do not leave any client or application windows open.

Explicit Clicks
When opening expanded menu options, click explicitly on each option—do not depend on the expanding menu. For example, when choosing Start > Programs > Microsoft Word, be sure to click on the word Programs.

Do not Resize Windows
Although VuGen supports the resizing of windows during recording the session, we recommend that you do not move or resize them while recording. To change the size or position of a window, double-click on the
relevant Sync on Window step in the script’s Tree view and modify the window’s coordinates.

Make Sure Resolution Settings are Consistent
To insure successful bitmap synchronization, make sure that the resolution settings match. On the recording machine, check the settings of the ICA client, the Recording Options, and the Run Time settings. On the load
 generators, check the settings of the ICA client, and make sure that they are consistent between all load generators and recording machines. If there is an inconsistency between the resolutions, the server traffic increases in order to make the necessary adjustments.

Add Manual Synchronization Points
While waiting for an event during recording, such as the opening of an application, we recommend that you add manual synchronization points, such as Sync on Bitmap or Sync on Text.

Disable Client Updates
Disable client updates when prompted by the Citrix client. This will prevent forward compatibility issues between VuGen and newer Citrix clients that were not yet tested.

Windows Style
For Sync on Bitmap steps, record windows in the "classic" windows style not the XP style.

To change the Windows style to "classic":
1 Click in the desktop area.
2 Select Properties from the right-click menu.
3 Select the Theme tab.
4 Select Windows Classic from the Theme drop down list.
5 Click OK

In the next post will post some common problems faced while recording the ICA protocol.

Tuesday 3 June 2014

Overview of the BSM 9.12 Solution

HP Business Service Management (BSM) 9.12 provides a suite of monitoring products that offer a comprehensive methodology for monitoring and measuring IT services from a business perspective. BSM tools enable you to identify problems, understand their business impact, and prioritize the triage and remediation process. BSM thus enables your IT organization to optimize the performance and availability of applications in production and proactively resolve problems when they arise, thus assisting your organization to deliver more effective business results with lower IT costs.

BSM contains an integrated set of applications for real-time performance and availability monitoring, providing capabilities that include Service Level Management, End User Management, System Availability Management, event handling, early-warning events, and custom reporting and alerting.

BSM’s consolidated service operations approach is driven by the following processes:

➤ "Detect"
➤ "Consolidate"
➤ "Prioritize"
➤ "Isolate"
➤ "Diagnose"
➤ "Repair"


Detect:
BSM detects problems before they impact the business. BSM monitoring tools discover, detect, monitor, and measure across the IT environment, reporting events and sending alerts and metrics back to the BSM applications. You configure the monitoring requirements and thresholds for the measurements to define what is a problem.

Consolidate:
BSM consolidates topology, events, and performance and availability metrics from across domains and monitoring systems into the BSM management centers, enabling consolidated event and service health management for IT operations. Events and metrics from third-party integrations can be included in this "single pane of glass" approach. Cross-domain events are automatically correlated by the event-based correlation engine, to correlate a symptom with its cause.

Prioritize:
BSM prioritizes events based on their business impact, and whether the associated CI is included in an SLA, enabling IT to focus on those issues first. This prioritization is achieved using the comprehensive dependency map created in the RTSM, which gives visibility into the impact of events on business services, and on how real users are being impacted by issues. In addition, Service Level Management capabilities allow you to compare actual application availability and performance with business goals, so that you can see the remaining time until SLAs are breached, and to prioritize problem resolution based on service level compliance.

Isolate:
BSM provides processes to help isolate the root cause of problems, speeding up resolution time. A problem can occur at any
stage of the user experience; it could be infrastructure or network related, an application issue, a transaction implementation issue, a security issue, and so forth. To manage this, BSM tracks transactions in an end-to-end manner, regardless of the technologies used to complete them. The RTSM then provides a unified service health view of the relationships and dependencies between the CIs that represent your business services and IT infrastructure.

Diagnose:
The BSM platform includes tools to help diagnose anomalies across the IT environment and pinpoint bottlenecks, and provides solutions for different IT teams. For example:
➤ On the applications side, Diagnostics can drill down into the application server stack, and peer into the tiers of an application as they relate to individual infrastructure components, providing both historical context and application-specific details at the time of the issue.
➤ On the network side, Network Node Manager i (NNMi) can analyze network traffic and the network path, and give visibility into the network component that may be the root cause of the problem, for example, a malfunctioning router.
➤ On the infrastructure level, Operations Manager tools can provide visibility into the infrastructure layer.
➤ On the transaction level, Transaction Management can provide a granular view of monitored transactions and report on every step taken during a problematic transaction, for example, a failed bank transfer.

Repair:
BSM provides integrated run book automation (RBA) though an out-of-the-box integration with HP Operations Orchestration. This enables an isolation flow to collect additional information on the problem, and the running of automated script actions to try and remedy the problem. BSM can also integrate with other run book automation tools.