Tag Archives: LoadRunner Tips

Enable Unified Functional Testing (UFT) logs

Previously, QuickTest Professional used the tool \bin\ClientLogs.exe utility, setting up its section called “QTP”, however for UFT, this option does not capture any logs.

Instructions to collect desired logs:

1. Close UFT.exe, AQTRmtAgent.exe and QTAutomationAgent.exe

2. Locate tool’s “Logs” directory/folder (see A section below)

3. Configure config.xml files (see B section below)

4. Clear “Logs” directory/folder.

5. Reproduce situation. If reproduction requires multiple repetitions/iterations, repeat steps 4 – 5.

Note: Enabling logs as suggested may generate larger logs files, so minimizing the tasks done on UFT to reproduce, and clearing the logs before each attempt of reproduction, may help collecting more accurate information from such logs.

6. (If possible) Collect date and time when issue. Note: this helps narrowing down search within logs.

7. Compress logs

A. Logs location/path/directory

The UFT log files generated from below steps should get created by default under the following path:

%APPDATA%\Hewlett-Packard\UFT\Logs

To navigate to above, go to “Start” > “Run” and type above path. Note: if above path is not found, then:

Review which path is setup for logs, on the configuration file of respective feature. For example for general UFT, under log.config.xml, path is configured to default with below entry:

Ensure UFT and machine is using correct files.

B. Configure config.xml files

1. Create backup of \bin\log.config.xml. Note: this is to “disable” expanded logs by replacing modified files with backup

2. Open on a text editor \bin\log.config.xml

3. If the test execution is longer than 30 min, increase the value of maximumFileSize to 50MB:

4. Change the “level value” under “root” tag to DEBUG (instead of ERROR):

5. Make sure all appender-ref element values are set to “RollingFileAppender”:

6. If involving API scripts, add logger/tag named “HP.ST” as below:

set “level value” to DEBUG, under “LogCatRmtAgent” logger:

7. Save changes on log.config.xml

8. Repeat steps 1 to 5 for below files \bin\log.config.AutomationAgent.xml, THEN save changes.

9. For \bin\log.config.RemoteAgent.xml, repeat steps 1 to 5, THEN

10. For \bin\qeee.log.config.xml, repeat steps 1 to 4, THEN:

1. Make sure all appender-ref element values are set to “QEEE_RollingFileAppender”:

2. Set “level value” to DEBUG, under “HP.QTP.QEEE” logger:

Advertisements

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.

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”

Initialization of the ALM Octane Server

If you are not getting past the initialization of the ALM Octane Server and getting database connection issues like

error: url=’jdbc:mercury:sqlserver://192.168.10.190:1433′, dbType=MSSQL, userName=’sa’]. Error: Connections could not be acquired from the underlying database!

The root cause for this is the SQL services.The SQL Agent and Browser are not running, causing the connection issue between the DB and the Octane server.

Copy test with requirement coverage

User wants to have all the test cases with the linked requirement from 3 different projects to one new project.

• Go to Management module (old projects)
• Go Libraries
• Create a new Library
o Select all the requirements
o Select ‘Test covering selected requirements’
• Create a baseline
o Check the logs

TARGET PROJECT:
• Import a library
• Check the logs
This copies the test and its requirement coverage as your user has requested.

The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name ‘dbo.LISTS’ and the index

Migrated our HP ALM to new windows server and sql server. Was able to migrate HP ALM to version 12.55 however projects fail to upgrade.

Getting the below error message after upgrading a project,

Exception occurred. Message: [Mercury][SQLServer JDBC Driver][SQLServer]The CREATE UNIQUE INDEX statement terminated because a duplicate key was found for the object name ‘dbo.LISTS’ and the index name ‘LS_LOGICAL_NAME_IDX’. The duplicate key value is (hp.qc.plan-status.imported).
Failed SQL: /* ~~QC */ CREATE UNIQUE NONCLUSTERED INDEX [LS_LOGICAL_NAME_IDX] ON [LISTS]([LS_LOGICAL_NAME])

In this case the issue is because there is a duplicate key in [dbo].[LISTS] table.

You may need to run the following query in order to identify which is the duplicated one : select * from [dbo].[LISTS] where ls_logical_name=’hp.qc.plan-status.imported’

In this case it seems that the value for the LS_NAME had been modified, the default value is "Imported" and in your case is "Feedback Provided".

So the application notices the original value does not exist so it insets it (as seen in the last upgrade attempt, after running it another one was created) and consequently this causes the index duplicate error.

For fixing this issue it is necessary to update the LS_NAME to the original value, then run the upgrade process and later you can update the records again and have the customized as desired. This will not affect the data that is already in the entities .

After that you may need to follow the next steps in order to resolve the issue:

To update the records a simple query like this can be used:
Update [td].[LISTS] set LS_NAME ‘Imported’ WHERE LS_ID = ‘355’