1

I've been using QTP 11.0 on my PC quite a long time and had no problem with Java-apps (Java 7 Update 21 x86) identification (OS Windows 7 Pro 64-bit). But when I tried to install QTP on the server through RDP (also running under OS Windows 7 Pro 64-bit) I came across a problem with identification of java objects:

Java objects identified as OS Windows objects

So Java objects are identified as OS Windows objects (expected: JavaWindow --> JavaDialog).


If someone knows what to do please help!

Any good advice is also appreciated!

Expected result:

Java object could be expected in details


RESEARCHES TILL NOW


First attempt

I have installed QTP 11 patch QTP_00699 for Java from all QTP 11 Patches (downloadable from HP directly). No result.

Also did not expect any result cause I'm testing java 32-bit app (and on my PC it works fine without patch), but still there is a hope that it could change registry or system values in a proper way (maybe...).


Second attempt

Reversing java environment variables path (_JAVA_OPTIONS & IBM_JAVA_OPTIONS) and starting java-app from console prompt set to java bin directory

C:\Program Files (x86)\Java\jre7\bin>javaws "C:\_qtp\testapp.jnlp"

According to the post in HP UFT Community Home Object Spy sees a java app as window class instead of javawindow class?. No result.

ALSO: the same action on my PC lead to QTP not being able to start.


Third attempt

Editing system registry. According to the post in HP UFT Community Home QTP 11.00 not identifying java objects properly.

Difference I've found there is no QuickTest Professional folder in HKEY_LOCAL_MACHINE\Software\Mercury Interactive so I can not save anything, but I am happy file is deleted beforehand :) (on my local PC there is even no Mercury Interactive folder in HKEY_LOCAL_MACHINE\Software\)

And nothing was found for “%appdata%\HP” so there is nothing to rename! :) (my local PC has it)

After repair - No result


Fourth attempt

  1. Uninstall QTP patch and QTP
  2. One more time Third attempt

May be repair helped and:

  1. QuickTest Professional folder was found in HKEY_LOCAL_MACHINE\Software\Wow6432Node\Mercury Interactive so deleted it there.
  2. QuickTest Professional was found for “%appdata%\HP” so renamed it.
  3. Reboot
  4. Install QTP (tested java-app visibility - No result)
  5. Install QTP patch QTP_00699 Support Testing on 64Bit Applications. No result.
  6. Install QTP patch QTP_00709 Updates for HP QTP 11.00 [Critical]. No result.

Fifth attempt

Reinstall JRE 1.7.21. No result.

I do not downgrade to 1.6 because 1.7 version is working fine on my PC with the same QTP installation. (Still I tried: did not help)

1 Answer 1

1

TLDR: Java v1.8 was installed on the server (It is not supported by QTP 11.0, only starting from UFT 12.02) check QTP/UFT vs Java JDK Support Matrix.


DETAILS


How to check

  1. Go to Start --> Control Panel and click on Java [XX-bit]. On the Java Control Panel select tab Java and press the button View...

On my local PC (Java is recognized by QTP):

Java 1.7 is used to run jnlp

And on the server:

Java 1.8 is used to run jnlp

Disabling checkbox Enabled against platform Java 1.8 solves the problem of Java objects recognition in QTP 11.0.

  1. There were two folders in C:\Program Files (x86)\Java directory:

    • jre1.8.0_65
    • jre7
  2. In Java Console Log:

enter image description here


Why this problem could happen

Java 1.8 was installed some wierd way. And I paid no attention to support matrix cause it was obvious to me that I use the same version on local PC and on server. Why?

  1. On app starting time it was always this picture:

enter image description here

Don't you know it's Java 1.8 starting right now :)

  1. As you know from the Second attempt of this question I started jnlp-file right from the jre7 directory:

    C:\Program Files (x86)\Java\jre7\bin>javaws "C:_qtp\testapp.jnlp"

  2. There was only Java 7 Update 21 on the Programs and Features panel:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.