UFT (formerly QTP) provides a good mix of built-in environment variables. These can help you design efficient cross-platform and machine independent tests. With a simple one line syntax, you can find out current system configuration, test directories and more during run time.
There is, however, one important thing missing in built-in environment variables.
UFT Build Version
UFT build version changes when you install a new service patch on top of your existing UFT installation. This info can be helpful in troubleshooting those cases where Everything-was-working-fine-till-yesterday-and-today-it-is-no-more-working.
It is a good practice to include UFT build version as part of your test report.
How to retrieve UFT Build Version during run time programmatically?
Here is how you can programmatically retrieve UFT build version from the Windows registry.
In 64 bit Windows OS, the UFT registry keys can be located at
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\QuickTest Professional\CurrentVersion\
while in 32 bit Windows OS, the UFT registry keys can be located at
HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\QuickTest Professional\CurrentVersion
The code below is written for 64 bit OS. It can be tweaked using the registry path available above to work for 32 bit OS.
Function UFTVersionInRegistry (strRegistryKey, strDefault ) Dim WSHShell, strValue On Error Resume Next Set WSHShell = CreateObject("WScript.Shell") strValue = WSHShell.RegRead( strRegistryKey ) if err.number <> 0 then 'The default value is assigned in case of error' UFTVersionInRegistry= strDefault else UFTVersionInRegistry=strValue end if set WSHShell = nothing End Function major = UFTVersionInRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\QuickTest Professional\CurrentVersion\Major","Major version number does not exist") minor = UFTVersionInRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\QuickTest Professional\CurrentVersion\Minor","Minor version number does not exist") build = UFTVersionInRegistry("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\QuickTest Professional\CurrentVersion\build","Build number does not exist") msgbox "UFT version is: " & major & "." & minor & " Build Version is: " & build
How to retrieve UFT build version manually?
While you’re inside the UFT IDE, you can check the build version by going to Help > About HPE Unified Functional Testing