Error message:”There are problems with your test configurations” when run Sprinter test in Power mode with instructions to start Internet Explorer

When running web test with Sprinter, where Internet Explorer is used the customer received the following error message: "There are problems with your test configurations" . In the Sprinter logs the following details are recorded: Path ‘C:\Program Files\Internet Exporer\iexplore.exe -nomerge’ not exists at this host.

The reason of issue is modification in registry key, which is responsible for how internet explorer is launched by default.

The problem is solved when the registry key {Default} under [HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\open\command] is set to the default value: "C:\Program Files\Internet Explorer\iexplore.exe" or C:\Program Files (x86)\Internet Explorer\iexplore.exe" for 64 bit OS

To modify the registry please follow the steps:

1. Click on Start->Run and type regedit

2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\IEXPLORE.EXE\shell\open\command

3. Double click on the string {Default} and set the default path for internet explorer startup file:

– C:\Program Files\Internet Explorer\iexplore.exe – for 32bit OS

– C:\Program Files (86)\Internet Explorer\iexplore.exe – for 64bit OS

Web object not working during recording yet on replay its works fine

When QuickTest Professional is recording against web-based applications using a great deal of JavaScript within, there are scenarios where some objects aren’t working, however once same page/screen gets refreshed when QTP isn’t recording or when Web Add-in isn’t loaded, the object works fine (for example a link not redirecting page to new location when recording, yet during replay it does work fine)

The hook(s) on either one or multiple events used by problematic web object is/are conflicting. This is normally caused because of the web-based application JavaScript related objects getting created or finish loaded in parallel when QTP loads the Web support to the page/screen/application, therefore if the support loading process finishes before an object isn’t fully loaded (for example events getting loaded last), hooks will be included, yet possibly causing for actual functionality of the event being overwritten, that is the “Click” event on a link or WebElement being analyzed, however its functionality getting broken (clicking not doing anything) due to conflicts.

Determining which particular event is encountering problems will provide inside either for a fix or reconfiguration of QTP to allow proceeding with automation.

To analyze which events are causing the problem:

· Access the Web Event Recording Configuration dialog (go to “Tools” and select “Web Event Recording Configuration” option

· Click on “Custom Settings…” button to show “Custom Web Event Recording Configuration” dialog. Note: On the left side, a tree view control shows different types of web test objects and on right side are shown all events being listened/recorded

· Before moving forward, backup/export to a file the current settings, by going to “File” and selecting “Save Configuration As”. Note: exported file can be “imported” by going to “File” and selecting “Load Configuration”

· Expand “Web Objects” (under “Any Web Object” item on left side) and find/highlight/select test object showing problematic behavior

· Once selected a test object, delete all the events displayed on right side of dialog (select event on list, then go to “Event” menu and select “delete)

· Click “Ok” on currently opened dialogs to confirm changes and go to back to main screen of QTP

· Confirm undesirable functionality against problematic test object isn’t happening no more. Note: it is expected to not record (scripts getting generated or objects getting added to repository)

· Now add back each deleted event (with same settings as before on “Listen” and “Record” columns, testing problem after adding each event back

· Note: Once determined which particular event (or multiple events) is reproducing issue, try following options if applicable

The following are workarounds to deal with scenarios where situation presents:

A. If "onclick" event is causing problem, replace it for “onmousedown” plus “onmouseup” events:

· Delete the "onclick" event from under both item called "Any Web Object" and from item related to problematic test object (for example "Link") on the Web Recording Configuration dialog

· Add/Insert both the events "onmousedown" and "onmouseup" events under modified items of step #1 with settings for "Listen" and "Record" the values "Always" and "Enabled" respectively

· Go to QTP Tools menu, select "Options" and access the "Advanced" section for "Web" tab/option

· Enable "Record settings > Record MouseDown and MouseUp as Click" option

· Click "Apply" then "Ok" to go back to main screen

· Click "New" to create a new blank test (or go to File > New > Test) or load desired test script (if already opened, close and reopen so new settings get applied to test)

· Test new settings

B. In case is not "onclick" event the one causing conflict:

· Start recording against problematic scenario

· Once problem happens, stop recording

· Refresh page/screen and confirm problematic object is now working. Note: it may be necessary reload entire browser to get support be loaded appropriately if refreshing the page/screen isn’t possible or such presents problems/restrictions

· (Optional) On QTP Script, click the location where new recorded script lines will be inserted/appended.

· Start recording once object is working correctly

Note: Repeat steps against each time during recording an object "looses" it’s functionality

IMPORTANT: In case script’s replay is also affected by this situation, then after the SYNC method usage on Browser test object, include another line using the REFRESHWEBSUPPORT method. For example:

‘…

Browser("MyApplicationWithLotsOfJavaScript").Sync

Browser("MyApplicationWithLotsOfJavaScript").RefreshWebSupport

‘…

Pause and minimize Sprinter during a test run.

It is possible to pause the capturing of the user actions from the Run sidebar. Once it is paused the user will be able to operate with the application under test or with any other not relevant to the test application and none of his actions will be captured.

There is also an option to minimize Sprinter by pressing keyboard Ctrl+Backspace keys. Clicking on it again should get Sprinter back to normal size.

View all the differences detected in the difference viewer of HP Sprinter

When there are many screen differences detected by HP Sprinter, only a summary view appears in the difference viewer, indicating the total number of differences detected, but all the differences cannot be viewed.

Displaying a summary view of the differences detected, when many differences were detected, is product design.

To fix this issue, you can set the "MaximumDiffNumberToReport" parameter in the settings.xml file (Path: %appdata%\HP\Sprinter folder).

Set the value to around 5000, and reboot Sprinter.

You should be able to view all the differences detected.

Error message “Sprinter is not installed on your computer. For sprinter installation instructions. select Help->Add-ins Page” when tried to run manual test from HP ALM 11 SP3 patch 8

Running tests from within ALM using Sprinter 11.50 as the Manual Runner is not supported for ALM 11.00 SP3 or earlier.

Workaround: Run test directly from Sprinter or install Patch 9 for ALM 11.00.

Error: Fail happened at Sprinter, and execution of tests from within QC will not be enabled

The reason for the problem is conflict between the Sprinter communication port and ALM JBoss connection port 8080.

The problem is fixed with one of below solutions:

Change the JBoss connection port from 8080 to another, for example 8081 – please check the installation guide for HP ALM.

Running below command in command prompt:

netsh http add iplisten ipaddress=<IP Address of your computer>:8080 (e.g.: netsh http add iplisten ipaddress=16.17.30.40:8080)

Required restart of the machine.

JavaScript errors on some pages during recording or replaying

While recording or replaying with QuickTest Professional (QTP) or Sprinter, errors may occurs against web application, for example::

Error: Object doesn’t support this action

Some of the JavaScript related:

"…

elem.appendChild = function(child) { var res = __QTP__HOOK_NOTIFIER.AppendChild(elem, child); QTP_EPE_HOOK.NotifyAgentOnDOMChange(); return res; };

…"

Called by object: QTP_EPE_HOOK.elementHook(childs[i]);

This error is not encountered when viewing the site without QTP or Sprinter.

The JavaScript error whenever QuickTest Professional (QTP), which Sprinter Power Mode uses, hooks to Document Object Model (DOM) mutation methods causing a problem/conflict in a QTP engine feature (focused on improving recording experience under Web Extensibility) where it tries to hook on element type that does not have DOM mutation method.

To fix, First try the following steps , if and only if, issue happens during recording (But replay is ok):

Determining which particular event is encountering problems will provide inside either for a fix or reconfiguration of QTP to allow proceeding with automation.

To analyze which events are causing the problem:

Access the Web Event Recording Configuration dialog (go to “Tools” and select “Web Event Recording Configuration” option

Click on “Custom Settings…” button to show “Custom Web Event Recording Configuration” dialog. Note: On the left side, a tree view control shows different types of web test objects and on right side are shown all events being listened/recorded

Before moving forward, backup/export to a file the current settings, by going to “File” and selecting “Save Configuration As”. Note: exported file can be “imported” by going to “File” and selecting “Load Configuration”

Expand “Web Objects” (under “Any Web Object” item on left side) and find/highlight/select test object showing problematic behavior

Once selected a test object, delete all the events displayed on right side of dialog (select event on list, then go to “Event” menu and select “delete)

Click “Ok” on currently opened dialogs to confirm changes and go to back to main screen of QTP

Confirm undesirable functionality against problematic test object isn’t happening no more. Note: it is expected to not record (scripts getting generated or objects getting added to repository)

Now add back each deleted event (with same settings as before on “Listen” and “Record” columns, testing problem after adding each event back

Note: Once determined which particular event (or multiple events) is reproducing issue, try following options if applicable

The following are workarounds to deal with scenarios where situation presents:

If "onclick" event is causing problem, replace it for “onmousedown” plus “onmouseup” events:

Delete the "onclick" event from under both item called "Any Web Object" and from item related to problematic test object (for example "Link") on the Web Recording Configuration dialog

Add/Insert both the events "onmousedown" and "onmouseup" events under modified items of step #1 with settings for "Listen" and "Record" the values "Always" and "Enabled" respectively

Go to QTP Tools menu, select "Options" and access the "Advanced" section for "Web" tab/option

Enable "Record settings > Record MouseDown and MouseUp as Click" option

Click "Apply" then "Ok" to go back to main screen

Click "New" to create a new blank test (or go to File > New > Test) or load desired test script (if already opened, close and reopen so new settings get applied to test)

Test new settings

In case is not "onclick" event the one causing conflict:

Start recording against problematic scenario

Once problem happens, stop recording

Refresh page/screen and confirm problematic object is now working. Note: it may be necessary reload entire browser to get support be loaded appropriately if refreshing the page/screen isn’t possible or such presents problems/restrictions

(Optional) On QTP Script, click the location where new recorded script lines will be inserted/appended.

Start recording once object is working correctly

Note: Repeat steps against each time during recording an object "looses" its functionality

IMPORTANT: In case script’s replay is also affected by this situation, then after the SYNC method usage on Browser test object, include another line using the REFRESHWEBSUPPORT method. For example:

‘…

Browser("MyApplicationWithLotsOfJavaScript").Sync

Browser("MyApplicationWithLotsOfJavaScript").RefreshWebSupport

‘…

If the above doesn’t apply, then try disable Web Extensibility mechanism feature via registry:

1. Close QTP and any related web application

2. Open Windows Registry Editor (Go to the Start menu, select “Run”, type “regedit” and click “Ok”)

3. Navigate to below: Note: below entries are 32bits paths

QTP:

HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\WebPackage\Settings

Sprinter:

HKEY_CURRENT_USER\SOFTWARE\Hewlett-Packard\Manual Runner\MicTest\Packages\WebPackage\Settings

4. Modify the value for the key “EnableDOMChangesNotifications” to value 0

5. Repeat also step 4 under below. Note: below entries are 32bits paths; for 64bits path, search under HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\…

QTP:

HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\MicTest\Packages\WebPackage\Settings

Sprinter:

HKEY_LOCAL_MACHINE\SOFTWARE\Hewlett-Packard\Manual Runner\MicTest\Packages\WebPackage\Settings

6. Try again.