Disable the new BPTWrapperTest feature

If the feature needs to be disabled, then it must be done on each desired client machine (or machine where scripts are being executed).

1. Open Windows Registry Editor (Go to "Start" menu, then to "Run" and type "regedit" and click "Ok")

2. Navigate to following key:

[HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\TestDirector\BPT]

for 64-bit Operating System: [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\TestDirector\BPT]

Note: If above "BPT" does not exists, create it.

3. Create/Modify the following registry value:

· Type: String value

· Name: UseBPTWrapperTest

· Value: N

4. Close QuickTest Professional and Remote Agent (if open)

5. (Optional) In case changes don’t take effect, reboot machine (for registry settings to take effect on all related applications)

Advertisements

Error: Failed to send data by channels – post message failed

In LoadRunner or Performance Center 11.00, during the middle of a running a scenario or load test, the LR Controller or PC output starts reporting error code -30935 "Error: Failed to send data by channels – post message failed." and no additional successful transactions are registered for the run.

The error occurs on the Load Generator machine(s) when one of the threads under lr_bridge.exe that updates the eve files is not getting enough CPU time slice to be able to send events to the Controller. Enabling an additional flag in the mdrv.dat file on the LG machine will maintain the read and write threads for the eve files on the same main thread, thus allowing it to have all the CPU time needed.

Disable Web Diagnostics for J2EE/.NET. If the behavior remains, go through the next steps.

On all of the Load Generator machines where the Vusers are being executed, edit the <LR or PC Installation>\dat\mdrv.dat file by adding the line listed below in bold:

[lr_trans_server]

ExtPriorityType=transaction_server

WINNT_EXT_LIBS=trans_server.dll

WIN95_EXT_LIBS=trans_server.dll

LINUX_EXT_LIBS=libtrans_server.so

SOLARIS_EXT_LIBS=libtrans_server.so

HPUX_EXT_LIBS=libtrans_server.sl

AIX_EXT_LIBS=libtrans_server.so

LibCfgFunc=TransactionServer_configure

GetLoaderInterfaceFunc=get_ts_interface

AddLoaderClientInterfaceFunc=add_ts_client_interface

GetLoaderCommandLine=trans_server_extra_ext

Loader=1

ExtMessageQueue=0

SecurityMode=On

ExtCmdLineOverwrite=-eve_thread_run_on_main_thread

Save the changes in the mdrv.dat file then re-run the scenario or load test.

Ajax TruClient script be run as Thread instead of Process

Currently the replay of Ajax TruClient scripts do not support multithreading mode, that is, scripts could only be replayed in "Run as Process" mode.
Ajax TruClient is a GUI based protocol and during the replay a separate instance of Gecko (Firefox layout engine) is created for each Vuser. If you run 50 Vusers you will have at least 50 processes, just like if you open 50 instances of Firefox browser. That’s why the protocol consumes so much resources (RAM and CPU).

Ajax TruClient script fails in non interactive mode

In Windows XP, Ajax true client script replays fine in interactive mode, but fails in load mode when replaying "wait for object" with the "

Error -203256: ** 16: Wait for …** failed – target object was not found".

There is an issue with Windows XP that is connected to some dlls that are duplicates in the Gecko dir under LoadRunner and in the System32 dir.

This might create some problems during load replay

Add "<LR install folder, full path>\bin\gecko" to the beginning of the path environment variable

Internet Explorer freezes randomly when recording a Secure Web application

[Net An. Warning (1590: d10)] Request Connection: Remote Server @ xx.xxx.x.xxx:443 (Service=) Failed attempt #1. Unable to connect to proxy (@ xx.xxx.x.xxx:xxxx): sid = xxxx, rc = 10056)

[Net An. Warning (1590: d10)] Request Connection: Remote Server @ xx.xxx.x.xxx:443 (Service=) Failed attempt #2. Unable to connect to proxy (@ xx.xxx.x.xxx:xxxx): sid = xxxx, rc = 10056)

In secure http communication, the "handshake" syncs the server and the client up with the encryption methods and keys that will be used for the remainder of the communications. A successful handshake creates the new "secure key" that the remainder of the connection will be using.

In this case, the client tries to set up a secure connection (ssl handshake) every time, instead of using the "secure key" that was created during the first successful handshake, for the remainder of the session. The ssl handshake succeeded on the some attempts but was failing on other requests, and that is why Internet explorer was freezing randomly at different steps in the business process.

Open "Registry Editor" in Windows (Start menu > Run > regedit)

Navigate to:

HKEY_CURRENT_USER/Software/Mercury Interactive/LoadRunner/Protocols/WPlus/SSL/OpenSSL

Set the value for "ReuseSSLSession" to 1

By doing this, we are ensuring that the "secure key" created during the first successful ssl handshake, is reused for the entire session instead of the client trying to do a ssl handshake every time.

Paramterize transaction names in a Web HTTP/HTML script

Sample Script is given below :

Action()
{

int status;

lr_output_message ("Now connecting to server %s", lr_eval_string("{Servername}"));

lr_start_transaction(lr_eval_string("Trans1_{Servername}"));

status=0;

lr_think_time(5);

/* End transaction with operation result – pass or fail */

if (status == 0)

lr_end_transaction(lr_eval_string("Trans1_{Servername}"), LR_PASS);

else

lr_end_transaction(lr_eval_string("Trans1_{Servername}"), LR_FAIL);

lr_start_transaction(lr_eval_string("Trans2_{Servername}"));

status=1;

lr_think_time(10);

/* End transaction with operation result – pass or fail */

if (status == 0)

lr_end_transaction(lr_eval_string("Trans2_{Servername}"), LR_PASS);

else

lr_end_transaction(lr_eval_string("Trans2_{Servername}"), LR_FAIL);

return 0;
}