Unified Functional Testing (UFT) is an automation testing tool from Micro Focus. Micro Focus UFT One accelerates and simplifies end-to-end functional testing with one intelligent solution that builds and automates tests for enterprise apps using embedded AI-based capabilities.
This post will have the monthly UFT Tips and Tricks which will be a consolidation of various common issues in UFT. Do check out this article for troubleshooting tips and tricks for other tools.
UFT Tips and Tricks – January 2021
1. Retrieving missing views after importing a Lab Project .qcp file
It often happens that users have missing views after importing a Lab Project.pcq file. In the process of importing the ALM Lab Project from a .qcp file, the database or schema views are not shown, either they are corrupt or went missing. Initially, this issue can be tackled by exporting or importing the Lab Project to/from a .qcp file by adding the following Site Configuration Parameter:
Param Name: SHOW_LAB_PROJECT
Param Value: Y (N is Default)
This can be proved to be effective because the import system in ALM considers the Lab Project structure as a standard project, hence the views in the database will be missing.
You can correct this problem by using the queries in the attached file: LabProject_DropCreate_Views.zip
The .zip file mentioned above has all the queries for both MSSQL and Oracle. It would be better to use the ‘drop’ statements to end or remove all the duplicate, corrupt or malformed views. After that, you can use the ‘Create’ statements to make the expected views that you require.
2. Instructions on fixing the HP.UFT.JSCTypeslib.dll (atl.dll) error while installing UFT One
Sometimes when users are installing UFT One on anyone’s device it happens that there shows an error message at the bottom of the screen.
ERROR MESSAGE THAT APPEARS ON THE SCREEN:
file C://UFT_One_15.0_DVD.* .HP.UFT.JSCTypeslib.dll
What actually happens is that the installation file for UFT One was once saved and then launched with administrator’s privilege from the system’s C driver. It could happen because the Active Template Library file (atl.dll) is not registered on the device.
ATL is specifically a set of Microsoft developed template-based C++ classes, that are used to simplify programming using all of the COM objects. When DLL is not registered then it can result in UFY One install issues, with a message that says: HP.UFT.JSCTypeslib.dll.
The root cause of this error is known to be the missing Active Template Library file (atl.dll). And once the file was placed users can easily install the UFT one.
Steps to register the Active Template Library File (atl.dll) on the device, just follow the steps given below:
- You need to download the atl.dll file
You need to make sure that it is a 64-, or a 32-bit file. Then also consider the language it uses for future reference.
Then you need to select those DLL files whose language responds and is suitable to the particular language of your program.
And make sure to use 64-bit files for all the 64-bit programs. Downloading the recent versions of dll files is quite essential for better performance.
- Then you need to move the downloaded file in the path that is in (C:\Windows\System32) folder.
- Then select on Start, then click on Run.
In the Run Window you need to put regsvr32 “C:\WINDOWS\system32\atl.dll”
- This fix will be proven effective when you get a RegSvr32 message that says:
DllRegisterSever in C:\Windows\System32\atl.dll succeeded.
3. Instructions regarding changing the log location in Octane
Sometimes it becomes of utmost importance that we change the log location in Octane
You can change the log location by following the steps given below:
- You need to go to the Octane installation location and open log4j2-conf.xml file for editing purpose. The most obvious path would be
In Linux Operating System: /opt/octane/conf
In Windows Operating System: <drive>\<path>\octane\conf
- Then you need to find the string given below:
- Now you need to change the existing value to the new log location, here are a few examples:
For Linux: /opt/octane/log
You need to note that for Linux it is important that the permissions are set for the “Octane” group, octal: rwxrwx— (770).
For Windows: D:/octane/log
You need to make sure that you carefully use the forward slashes.
- Do not forget to save the changes
- Then you need to restart the Octane service.
- Carefully verify and recheck if all the logs are being written to the recent location.
4. Solution to fix UFT identification error
Frequently it is noted that access to Native messaging hosts was disabled. It resulted in a UFT identification error. It could happen when the users give a try to automate on Chromium Edge by UFT One, the product that is recognised as WinObject.
Then error that appears to be as:
Access to the native messaging host was disabled by the system administrator.
You can easily fix this issue by following the instructions given below:
- You need to modify (in case you have an older version) or add the registry given below. After this, the Chrome native message host communication channel to UFT will be white-listed.
For the Chrome browser:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] "NativeMessagingUserLevelHosts"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\ExtensionInstallWhitelist] [value name] = [chrome extension ID]
"1"="hkheagicnendeidmgfnaaocibkmiibbo" ( ID will be got from chrome extention list) [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\NativeMessagingWhitelist] [value name]="com.hp.uft.nativemessaginghost"
For Chromium Edge browser:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "NativeMessagingUserLevelHosts"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\ExtensionInstallAllowlist] [value name] = [Edge extension ID]
"1" = "hkheagicnendeidmgfnaaocibkmiibbo" (ID will be got from Edge extension list) [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\NativeMessagingAllowlist] [value name]="com.hp.uft.nativemessaginghost"
5. Tips to hide the message bar that displays “UFT Agent started debugging the browser” on Google Chrome browser versions 79+
This recurring pop-up message bar becomes irritating at some point in time. It happens in the Google Chrome version 79+ browser’s, while UFT 15.0.1 is still in use.
In all the Chrome versions 79+, the flag was removed by Google itself. Still, you can make use of the tips given below:
- With the help of Record and Run settings:
- You need to disable the “Open the following address when a Record or Run session begins” on the ”Web”, from the “Record and Run” Settings.
- Then you need to change the settings to “Record and Run a test on any open browser”.
- With the help of the Command line parameter “–silent-debugger-extension-api” that is present in the script that is responsible to launch the Google Chrome Web browser.
- SystemUtil.Run “C:\Program Files (x86)\Google\Chrome\Application\chrome.exe”, “–silent-debugger-extension-api”
- With the help of creating Chrome Shortcut
- If you already use Chrome shortcut then you need to Right-click on the shortcut.
- Then you need to select Properties and then open the Shortcut tab.
In the target, you must replace the line with the one below:
“C:\Program Files\Google\Chrome\Application\chrome.exe” –silent-debugger-extension-api”
Then click on Apply.
- And If you do not use the Chrome shortcut, you need to create it.
You can do that by going to Desktop, Right-click on Shortcut. Then click on New, open the Shortcut tab and paste the path below:
“C:\Program Files\Google\Chrome\Application\chrome.exe” –silent-debugger-extension-api”
Give any name to the shortcut (e.g: GChrome)
Final fix: For Google Chrome browser
- Visit customize and control Google Chrome.
- Then select on More tools, then on Extensions.
- Then click on Micro Focus UFT Agent, then on Details
- On the new tab, you need to open the combo box of the “Default Logging Level”, and then select OFF, then Save it.
6. Instructions to properly execute UFT in Jenkins when there is an error
It often happens that the user is unable to initiate UFT in Jenkins due to the error that says, “Micro Focus Application Automation Tools”. It is often advised on the screen that the user needs to verify their username and password. The 14.52 Micro Focus Application Automation Tools Version: 6.3 script does not run at all. Jenkins is basically hosted in a Linux container and this happens when the user is trying to execute UFT through ALM in a Windows node device, both are different Operating Systems hence, incompatible.
The error message from the console log:
Run mode is set to RUN_LOCAL
Failed to login. Please contact the system administrator for help.
Run mode is set to: RUN_LOCALUnable to retrieve test set folder: Node not found.============================================================================Starting test set executionTest set name: Using_Plugin, Test set id: 101Class not registeredClass not registeredCould not create scheduler, please verify ALM client installation on run machine by downloading and in installing the add-in form.
This usually happens when they are executing scripts from Jenkins. After changing the configuration the User was able to execute the scripts. Always, before rushing to conclusions one must find the root cause of the error. We can observe that the error that was appearing was not really relevant to the issue as:
Error from the console log: Run mode is set to RUN_LOCAL Failed to login. Please contact the system administrator for help. Description: Authentication failed. Verify your user name and password.
As all the errors prove to be an authentication problem. So, if the user had tried out with API token (SSO) that would not have helped them. After that, the user should try adding the same ALM url with a different name (IP Address) carefully. Then they should configure the procedure, this will work out well.
7. When due to Parallel Runs, the UFT developer automatically tests the Cucumber project
The parallel run has always been known to be the best because it saves the user’s testing time. It automatically runs many tests, or often a single test with many data sets, in parallel on the same host machine. While using a seat license, UFT developers are able to run about four test operations in parallel. It is also observed that UFT Developer consumes around many additional licenses, each one of them enables at least four parallel test operations.
By using JUnit and Maven test execution plugins Cucumber can be executed in parallel, just follow the steps given below:
In the JUnit, the features are initiated in parallel rather than scenarios, which indicates that all the scenarios in the scenarios in a feature file will be executed by the very same thread. For this purpose, you can either utilizeMaven Surefire or Failsafe plugin to execute the runners.
- You need to create a Maven project in the IDE using the UFT Developer Cucumber project.
- Then you add the Surefire plugin configuration to the build section and that to the POM.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.0</version> <configuration> <parallel>methods</parallel> <useUnlimitedThreads>true</useUnlimitedThreads> </configuration> </plugin>
Users need to remember that the main requirement for support parallel runs is that Features files are Run in parallel, not scenarios. So for the parallel execution, it is crucial to have two feature files each containing the scenarios that you want to run in parallel. The UFT Developer Cucumber project already has most of the configuration that is needed for a Junit parallel run. It contains a LeanFTFeature.feature file, that supports parallel execution that you need later to create a new feature file to make a copy of the previous file. In the example that is given below, the same feature file is being initiated in parallel, to execute the same scenario in parallel, while it locks two different machines in UFT Mobile.
Feature: Shop Scenario Outline: Check speakers price Given I lock the device <name> Examples: | id | | 45C0219402001340 |
Feature: Shop Scenario Outline: Check speakers price Given I lock the device <name> Examples: | id | | E2MBC80803017581|
- Then you use the Maven install or any appropriate command to execute the POM. This will let it run in parallel threaded mode. You need to note that the scenario in the file (LeanFTFeature.feature) is usually executed by thread with ID 13. In the same way, the scenario in the file (LeanFTFeatureParallel.feature) is executed by thread with the version ID 13.
You need to check the result and if it looks anything like the one below then it is good.
Thread ID – 13 – Locking Device: 45C0219402001340
Thread ID – 14 – Locking Device: E2MBC80803017581
Here the features files are utilized for running the same test in parallel, but it could also be that it was used to run multiple scenarios on a single feature file in parallel with other scenarios on the other file.
8. Instructions to publish the JUnit report in Azure DevOps using the Application Automation Tools plugin
When we add a task in the Azure DevOps pipeline to publish the Test REsults, we can also view the JUnit results on the Tests tab of the run results. These specific results are generated based on the xml file of UFT ONE run results. You can easily publish the Test results by following the steps given below:
- You need to add a UFT task.
- Then you need to add the Publish Test Results Task.
- Then you need to configure the publishing task, and then run the job.
- Then you need to select the Tests tab and check the JUnit report.
9. Checking if the ports have been opened with the PowerShell script
It is important to check if the Database, ALM, Synchronizers, Autopass, Sentinel ports have been opened using the Windows PowerShell. There are certain prohibitions while using the telnet protocol in company networks, it is often disabled under some security policy guidelines. When we are using ALM installation and integration with other tools, it often happens that the Network connectivity is necessary to establish proper communication between different hosts, which is done with the help of various network ports. In Windows OS and its environment, it is possible to use PowerShell to initiate run scripts for the verification if the port of a host is opened or not. This works out well for both Database servers, Application servers.
For initiating and utilizing PowerShell you can follow the instructions given below:
- You need to download the PowerShell script, then copy it into a notepad.
- Then you need to save it as Checkport.ps1.
- Then you must make sure the Script execution is working, if in case it is disabled you can use the command given below in the PowerShell:
- Then you need to run the script through the PowerShell command line:
<Script path>\CheckPort.ps1 -ip IpAddressOftheHost -port PortNumber
10. Instructions to set DCOM Settings for the Automation Scripts
UFT DCOM Settings for the Automation Scripts can be turned on while installing or by running all of the extra installation components app after the installation. This procedure is important because it shows how to enable this setting particularly on your own and can easily be used to troubleshoot whenever there are issues with DCOM configuration while running the UFT with external tools.
UFT DCOM Settings for Automation Scripts can be enabled during installation or by running the additional installation components app after installation, this process shows how to enable this setting manually and can be used a troubleshooting step when facing issues with DCOM configuration when running UFT with external tools
You can enable this setting on your own by following the steps that are given below:
- Press Windows key and S together and then type Component Services or you can simply run the dcomcnfg.exe command.
- Then you need to open the Component Services console.
- Then expand the Component Services
- Then expand Computers
- Expand MY Computer
- Expand DCOM Config
- Under that, you need to find a QuickTest Professional Application.
- Then you need to Right Click on Properties QuickTest Professional Application.
- Then you need to go to the Identity tab.
- In that, you choose which user account you need to use to run the application.
- Then select The interactive user.
- Do not forget to press the OK button or all the changes would not be saved.