Category Archives: loadrunner

LoadRunner related troubleshooting tips

Use rdp_sync_on_window for a partially changing window title

To use rdp_sync_on_window for a partially changing window title for the following scenario

rdp_sync_on_window(“StepDescription=Window Synchronization 1”,

“Snapshot=snapshot_12.inf”,

“WindowTitle=I am static XXXX YYYYY ZZZZ”,

“WindowState=ACTIVE”,

RDP_LAST);

Need to use sync on the portion of the window name that doesn’t change where XXXX YYYYY ZZZZ change, but the first part (I am static) stays the same.

To achieve this the windowTitle argument comes with regular expression

WindowTitle/RE=

In the above example, we can keep the first part static(I am static) and exclude the 2nd part (XXXX YYYYY ZZZZ)using Regular expression.

Advertisements

LR Controller throws Microsoft Visual C++ Runtime Library Runtime Error

Using LoadRunner (LR) 11.00 Patch 4 on a machine that was previously running LR 11.50. When trying to open a scenario the wlrun process crashes and the following message is displayed:

Unsupported operation was attempted

Microsoft Visual C++ Runtime Library

Runtime Error!

Program: C:\\Software\\HP\\LoadRunner\\bin\\wlrun.exe

abnormal program termination

This happens on every attempt to open an LR scenario. Uninstalling and re-installing LoadRunner 11.00 or and 11.04 patches does not resolve the problem. Upgrading LoadRunner to version 11.50 is not possible on this machine as it currently has to run with an LR 11.00 license key.

In certain cases uninstalling of LR 11.50 may leave registry keys enabled for the LR 11.50 version that are incompatible with LR 11.00 and therefore cause the 11.00 wlrun process to crash. To resolve the problem try the following steps on a Windows 7 64 bit machine:

Back up the registry.

Run Regit and go to HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{6B2455C3-CAF8-4578-BBA4-B7566F89EBAA}\InprocServer32

Delete any 11.5x subfolders.

On a Windows XP 32 bit machine the invalid 11.5x entry will be found in

HKEY_CLASSES_ROOT\CLSID\{6B2455C3-CAF8-4578-BBA4-B7566F89EBAA}\InprocServer32\11.5x.0.0

Error: “Object doesn’t support property or method ‘indexOf'” when saving the “Speed simulation” run-time settings of a TruClient script

An error is received when trying to save the “Speed simulation” Run-time settings of a TruClient script:

“Script Error: An error has occurred in the script on this page.

Error: Object doesn’t support property or method ‘indexOf'”

As a result the settings are not saved and the “Save” button becomes disabled.

The issues is caused by missing default values for the speed simulation settings.

To fix the issue for the current script:

1.Open the default.cfg file in the script folder.

2. Go to the [ModemSpeed] section

3. Add values for the ModemSpeedUpload, ModemSpeedDownload and ModemSpeedDownloadAndUpload settings.

For instance:

[ModemSpeed]

ModemSpeedMode=1

ModemSpeedUpload=0

ModemSpeedDownload=0

ModemSpeedDownloadAndUpload=0

4. Save the file and reopen the script in TruClient

5. Go to the Run-time settings > Network > Speed simulation. Changing and saving the values should work now.

To fix the issue for any new scripts, modify the run-time settings templates for TruClient IE and Firefox:

Apply the above changes to the following default.cfg file:

<LoadRunner installation>\template\WebIE\default.cfg

<LoadRunner installation>\template\Web2UI\default.cfg

After saving the changes, any new TruClient script will have the default runtime settings for “Speed simulation”

How to calculate Vusers for a TruClient test

  1. Run a Controller scenario with one virtual user.
  2. Go to the target LoadGenerator machine. If it’s a remote LoadGenerator, use a remote desktop session.
  3. Open Windows Performance Monitor. (Open the Windows search bar and look for perfmon.exe or open the Control Panel and go to “System and Security -> Administrative Tools – Performance Monitor”).
  4. Click on Performance Monitor in order to add a new counter as shown in the below image.

Image 1

 

  1. Add a counter for Processor Time and Working Set by process (the Web Browser that is being used by the virtual user)

image text

 

image 3

 

image 4

 

 

image 5

Working Set is the current size, in bytes, of the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process.

CPU time (or process time) is the amount of time for which a central processing unit (CPU) was used for processing instructions of a computer program or operating system. In other words, CPU utilization.

Now you are monitoring the CPU usage with one Vuser. With this information you can estimate how many Vusers you can run in this LoadGenerator.

  • Let’s say we want to keep our CPU usage under 70%. We need to monitor the average CPU usage during the test with one Vuser.
  • In this example, we see an average of 12 percent average usage. If we divide 70 / 12 that gives us 5.8. That means that we can run approximately 5 or 6 Vusers in this LG.

After completing the steps above, you will have an estimate of Vusers you will be able to run in your machine, and can estimate how many LoadGenerators you need for your test.

HPE Diagnostics User Interface freezes or hangs

Having launched the HPE Diagnostics User Interface (UI) by clicking on “Open Diagnostics” (or “Open in This Window”) and entering a user name and password, performing an action such as viewing the data for long periods (days or weeks) for all Java Probes may result in the UI freezing and no further actions being possible. This issue may occur in a larger Diagnostics environment where there are many Mediators and numerous probes.

Once the Diagnostics UI has frozen no recovery is possible and the browser tab displaying the UI must be closed. The UI can then be opened in a separate browser tab (or new browser instance) however it is likely that the freeze behavior will re-occur.

A possible cause is that the Java applet which runs the Diagnostics UI has insufficient memory such that while the UI is performing the user action, the applet process runs out of memory and terminates. When this process terminates, the UI remains visible in the browser but is no longer functional.

To confirm that the Java applet process is terminating, open the Windows Task Manager and locate the process named “jp2launcher.exe”. This process will appear while the Diagnostics UI is being initialised (after the user name and password are validated):

image text

If the “jp2launcher.exe” is no longer visible when the Diagnostics UI freezes, then the process may have run out of memory.

A workaround for this issue is to increase the heap (memory) available to the Java applet. This can be done by modifying the Java runtime parameters as follows:

1) Open the Windows Control Panel and search using “Java” to locate the “Java (32-bit)” Control Panel entry. Click on the entry to open the Java Control Panel:

image text

Note: If there is no “Java (32-bit)” Control Panel entry this may be due to there being multiple Java versions installed on the client platform. Locate the Java 32-bit installed in a folder under “C:\Program Files (x86)” (typically “C:\Program Files (x86)\Java\jre7\bin”) and execute the file “javacpl.exe” using right-click “Run as administrator”.

2) Click on the “Java” tab and then on the “View” button to open the “Java Runtime Environment Settings” dialog.

3) The default heap size is typically 256MB however this may be system dependent. The actual process memory size can be seen in the Windows Task Manager before the process terminates. Specify a larger heap size and test to see if the UI freeze remains present – increase as needed. The following example confgure a 700MB heap however up to 1GB (“-Xmx1G”) may be used (as this is a 32-bit process memory is limited):

image text

LoadRunner Upload – Download file / Operative System 4 GB Memory Limitation

Each operating system has a physical memory limit which reciprocally define the boundaries for memory and address space that can be used by the processes, services, objects and services executed over the current operative system version.

Following is the memory limits that are present in Windows OS and how it affects the mdrv.exe process emulation when uploading/downloading large files, generating a reaction where the mdrv will crash, hangs or result in a memory violation.

 The implementation of LR file uploading/downloading is not optimized for huge file. It always reads all the files to memory before upload. That means, for files with 1 GB in size, mdrv has to   obtain 1 GB sequential memory space in the process for each Vuser. However, mdrv is a 32 bit process. In windows system, a 32 bit process has at most 4 GB in memory space, and only 2 GB of them can be used by developer. If the user tries to upload a file with 2 GB in size, it is almost impossible to find proper memory for it, since the other functions will also use some memory.

When the file size is smaller, like 500 MB to 1 GB, it will be possible to make the upload successful. But when we run the script in controller, we should make the Vuser run in process mode.

From the Operating System perspective and as a workaround it is possible to switch the memory use and memory address space allocation to 3 GB for the application and less 1 GB for the operating system.

In order to increase the memory and address space to 3 GB limit we need to be implement the following steps.

  1. Right-click on the Command Prompt icon in the Accessories program group of the Start menu. Click Run as Administrator.
  2. At the command prompt, enter:

bcdedit /set IncreaseUserVa 3072

  1. Restart the computer.
  2. Run the script one more time in VuGen and in the Controller using the LG as process.

For disabling  the  memory increase here is the command.

  1. Right-click on the Command Prompt icon in the Accessories program group of the Start menu. Click Run as Administrator.
  2. At the command prompt, enter:

bcdedit /deletevalue IncreaseUserVa

  1. Restart the computer.

Error -27732: Internal Error – can’t get initial credentials for username/password

The following error appears in web based protocol replay:

Error -27732: Internal Error – can’t get initial credentials for username/password

Wrong configuration of the required elements to make the script replay while using Kerberos authentication

Wrong username password:

  1. In the script go to the web_set_user function
  2. Verify that the username and password specified are correct

Wrong KDC IP:

  1. Open the windows environment settings
  2. Check the krb5.ini location specified in KRB5_COFIG
  3. Open the krb5.ini in an editor
  4. Check the KDC IP specified is as seen in wireshark recording of the application