Clicking object generates 'Unspecified error' when User Account Control (UAC)
Product - Version:
Quicktest Professional - Unified Functional Testing
UAC ON restricts based on Integrity levels
While attempting to replay statements on application under testing (example from an Install Shield Dialog window) and its test objects, for example a Standard Windows object (such as WinButton or WinEdit), specifically on Windows where User Account Control (UAC) is avaialble and enabled/active, QuickTest Professional (QTP) / Unified Functional Testing (UFT) fails to run the step and generates an error:
Note: If UAC is off, then issue is not present.
Note: Consider HPE testing tool as QTP, Sprinter or UFT
It is not possible to record/replay over applications that has higher permissions (or higher "integrity level") than HPE testing tool, for example setup programs or even programs that are launched using "Run as administrator", yet HPE testing tool is not run in such way.
To know the Integrity Level of a process, utilize Microsoft's tool called "Process Explorer". For example:
- UAC enabled: IEXPLORE.EXE process was opened using "Run As Administrator" and UAC assigned High Integritry Level, and QTPRO.EXEprocess was opened by active user (without "Run As Administrator"), so UAC assigned Medium Integritry Level. Expected Behavior:
- UAC disabled: both process are loaded at Integritry Level = "High"
To workaround this issue, ensure to run QTP/UFT at higher or same Integritry level as application under testing, for example running it with "Run As administrator" option (right click on QTP/UFT icon, then select "Run As administrator")
To use this option for all users:
- Right-click on the UFT icon or executable
- Select "Properties"
- Click the "Compatibility" Tab
- Check the Privilege Level checkbox “Run this program as an Administrator”
- Click the "Change settings for all users"
- Click Apply > OK