Share this page

# Set up web browsers and controls

Set up your browsers to enable the relevant OpenText Functional Testing Agent extension, so that objects in your browsers can be identified.

If you want to test a non-Web application that contains a browser control, you must also register the browser control.

Caution: The instructions in this topic include downloading executable files from the Internet, such as chromedriver.exe, phantomjs.exe, and the WebView2 driver, which are not provided by OpenText.

We encourage you to use only genuine executable files from the official Chrome and PhantomJS Internet sites. Failing to comply with this recommendation may expose your system to increased security risks. Any and all associated risks are the Customer's responsibility and OpenText will not be held accountable for the same.

In this topic:

## Browser extension compatibility

When using the OpenText Functional Testing Agent browser extension, be aware of the following:

- The OpenText Functional Testing Agent is also used by OpenText Core Software Delivery Platform Functional Testing Design (FT Design).

  FT Design and OpenText Functional Testing for Developers each install their own version of the extension, and each program requires its version to be the only one enabled.

  Before you use OpenText Functional Testing for Developers on a computer that also used FT Design, make sure the extension version enabled matches your version of OpenText Functional Testing for Developers.

Back to top

## Set up Google Chrome for testing

The first time you launch Chrome after installation, you are prompted to enable the OpenText Functional Testing Agent extension. Click Enable.

If the extension was not automatically installed:

1. In the Chrome menu, select More Tools > Extensions.

2. Drag the agent.crx file from:

   OS | Extension file location
   --- | ---
   Windows | <Installdir>\Installations\Chrome
   Linux / Mac | <Installdir>/Installations/Chrome

   to the Extensions page, and click Add.

   The Chrome folder contains additional sub folders for you to select.

   - Select v3 for the Manifest V3 (MV3) extension, built for the most recent versions of Chrome.

   - For Chrome version 94 or earlier, which does not support MV3 extensions, select the v2 folder.

3. Make sure the OpenText Functional Testing Agent extension is enabled.

Note: In some cases, when you restart the browser, the newly installed extension reverts to a previously installed version.

Workaround: Try deleting the following folder, restarting the browser, and installing the new extension again: `%LOCALAPPDATA%\Local\Google\Chrome\User Data`

Back to top

## Set up Mozilla Firefox for testing

The first time you launch Firefox after installation, you are prompted to confirm the OpenText Functional Testing Agent extension. Click Allow and then click Continue.

If the extension was not automatically installed:

1. In the Firefox browser menu, select Add-ons and then click Extensions.

2. Drag the WebExtension.xpi file from:

   OS | Extension file location
   --- | ---
   Windows | <Installdir>\Installations\Firefox
   Linux / Mac | <Installdir>/Installations/Firefox

   to the Firefox Extension page.

3. When prompted, click Install Now.
4. Restart Firefox.

5. When finished, make sure the OpenText Functional Testing Agent extension is enabled.

Back to top

## Set up Microsoft Edge for testing

The first time you launch Edge after installation, you are prompted to enable the OpenText Functional Testing Agent extension. Click Enable.

If the extension was not automatically installed:

1. In the Edge browser's menu, select Extensions.

2. Enable Developer Mode.

3. Click Load unpacked.

4. Select the Extension folder from <Installdir>\Installations\Edge.

   The Edge folder contains additional sub folders for you to select.

   - Select v3 for the Manifest V3 (MV3) extension, built for the most recent versions of Edge.

   - For Edge version 94 or earlier, which does not support MV3 extensions, select the v2 folder.

5. Make sure the OpenText Functional Testing Agent extension is enabled.

Note: In some cases, when you restart the browser, the newly installed extension reverts to a previously installed version.

Workaround: Try deleting the following folder, restarting the browser, and installing the new extension again: `%LOCALAPPDATA%\Local\Microsoft\Edge\User Data`

Back to top

## Set up PhantomJS for testing

To work with PhantomJS, you must install it in a specific location with a specific executable name:

OS | Installation location | Executable name
--- | --- | ---
Windows | <Installdir>\bin\PhantomJS\ | PhantomJS.exe
Linux | /opt/OpenTextFunctionalTestingForDevelopers/bin/PhantomJS/ | PhantomJS_Linux32 PhantomJS_Linux64
Mac | /Applications/OpenTextFunctionalTestingForDevelopers/bin/PhantomJS | phantomjs_mac

Back to top

## Maintain headless Chrome's setup for testing

By default, OpenText Functional Testing for Developers provides the ChromeDriver file that you need to work with headless Chrome. Over time, update this file to make sure that you are using a version that supports your Chrome version.

To find the ChromeDriver version provided by OpenText Functional Testing for Developers, see the Support Matrix. To check which Chrome versions this ChromeDriver supports, see http://chromedriver.chromium.org/downloads. When required, download the new version of the chromedriver binary file from this site and replace the one OpenText Functional Testing for Developers is using in the following location:

OS | Chromedriver location | Chromedriver file
--- | --- | ---
Windows | <Installdir>\bin\WebDriver\ | chromedriver.exe
Linux | /opt/OpenTextFunctionalTestingForDevelopers/bin/WebDriver/ | chromedriver
Mac | /Applications/OpenTextFunctionalTestingForDevelopers/bin/WebDriver/ | chromedriver

Back to top

## Set up Safari (Mac only) for testing

Install the OpenText Functional Testing Agent extension for Safari and configure the browser communication port number to 8824:

1. Install and enable the extension:

   Install the OpenText Functional Testing Agent extension from the Mac App Store (requires Apple ID sign-in).

   Enable the OpenText Functional Testing Agent in Safari's Preferences > Extensions tab.

2. Configure the extension settings:

   1. In the Applications folder, double-click OpenText Functional Testing Agent.

   2. Set the port number on which OpenText Functional Testing for Developers communicates with the OpenText Functional Testing Agent extension:

      Modify the Port (or Safari Port) number to 8824.

   3. Set the Mode to UFT Developer.

   4. Ignore the rest of the settings in this window.

3. Reopen Safari for the preferences to take effect.

Tip: By default, OpenText Functional Testing communicates with the Safari OpenText Functional Testing Agent extension using port 8823. Therefore, you cannot run web tests on Safari from OpenText Functional Testing and OpenText Functional Testing for Developers on the same machine without adjusting the port number.

Back to top

## Set up Internet Explorer for testing (Windows only)

Note: We no longer offer maintenance for working with Internet Explorer.

1. If you are prompted to enable the OpenText Functional Testing Agent when you open Internet Explorer for the first time after installation, click Enable.

   Otherwise, in Internet Explorer, select Tools > Manage add-ons.

2. In the Manage Add-ons window, make sure the OpenText Functional Testing Agent extension is enabled.

Back to top

## Register Internet-Explorer-based embedded browser controls (Windows only)

If you have a non-Web application that hosts a browser control, you must register the control so that the runtime engine can recognize the objects inside as Web objects.

You must register the browser control with OpenText Functional Testing for Developers on any computer on which you want to run your tests or use the OIC.

You register the control using the Register Browser Control Utility.

Note: This utility supports browser controls that are based on the Internet Explorer engine .

1. Make sure UAC is turned off while using the utility or run the utility executable using Run As Admin.

2. Use the Register Browser Control Utility in one of the following ways:

   - Run <Installdir>\bin\SettingNewBrowserControlApplication.exe.

     Enter the path of the application containing the browser control and click Register.

   - Open a command window and run:

     `<Installdir>\bin\SettingNewBrowserControlApplication.exe/register "<path\browser-host-application.exe>"`

     To unregister the browser control, replace `register` in the command with `unregister`.

3. Restart the runtime engine.

If needed, you can run this utility again at a later time to unregister the browser control. (In the command line, replace `register` with `unregister`).

Back to top

## Working with Chromium-based embedded browser controls (Windows only)

If you have a Desktop application that hosts a Chromium-based browser control, set up a connection between OpenText Functional Testing for Developers and the embedded browser so that objects in the browser can be recognized. Chromium-based browser controls include, for example, JX browser, EO browser, Electron, WebView2, NW.js.

Before you set up the connection, make sure you have the correct web driver stored on your OpenText Functional Testing for Developers computer. For details, see Using different ChromeDriver versions.

Set up the connection with the embedded browser

1. Prepare the web driver.

   Embedded Browser Framework | Driver source
   --- | ---
   For CEF, Electron and JxBrowser applications | The ChromeDriver is automatically installed with OpenText Functional Testing for Developers. If a different version is required, see Using different ChromeDriver versions.
   For Microsoft Edge WebView2 | Download the WebView2 driver from the official website.
   For NW.js | Download the NW.js SDK, which includes the chromedriver.exe file.

   If you use a web driver file other than the one provided with OpenText Functional Testing for Developers, store it in an accessible location, and make note of this location for use in later steps. You download multiple versions and use them by specifying which driver file to use in the next steps.

2. Configure your embedded browser to always open a port for remote debugging. Note the port number.

   Check your embedded browser's documentation for instructions on how to do this.

3. Connect OpenText Functional Testing for Developers to the embedded browser:

   To enable designing tests

   1. On a computer on which you want to use the OIC or Test Recorder, open your IDE and select Functional Testing for Developers menu > Tools > Embedded Browser Connection.

   2. At the Embedded Browser Connection's prompts enter the following information:

      Remote debugging port number.

      mode: Enter MsEdgeWebView2 or nw.js if relevant, or press ENTER to set the default mode, which supports CEF, Electron, and JxBrowser.

      webdriverPath: If you placed your web driver in a non-default location, specify its path. Otherwise, press enter to use the default web driver location.

      The tool sets up a connection with the embedded browser, using the port you specified.

   You can run the Embedded Browser Connection multiple times on the same computer to connect multiple embedded browsers.

   Whenever you restart the run time engine, you must reconnect to the embedded browser.

   To enable running test steps

   In your test, before any steps on the objects in the browser, add a BrowserFactory.Attach step (in JavaScript, Browser.attach) that connects to the embedded browser:

   - In the method's browser description parameter, provide a remoteDebuggerAddress capability that specifies the address and port number for remote debugging.

   - For WebView2 or NW.js, you must specify a mode, with the value MsEdgeWebView2 or nw.js.

     By default, OpenText Functional Testing for Developers assumes you are using CEF, Electron, or JxBrowser.

   - For WebView2 or NW.js, or if the web driver in stored in a non-default location, specify the location of the web driver to use for this embedded browser control.

     This is useful if you cannot replace files in the default location, or if you want to use multiple web drivers in parallel.

   Create a step similar to the one below to call the attach method:

   C#

   Copy code

       BrowserDescription browserDescription = new BrowserDescription();

       browserDescription.Set("remoteDebuggerAddress", "localhost:9222");

       browserDescription.Set("mode", "nw.js");

       browserDescription.Set("webdriverPath", "C:\\Users\\leanft\\Downloads\\nwjs-sdk-v0.55.0-win-x64\\chromedriver.exe");

       IBrowser browser = BrowserFactory.Attach(browserDescription);

   Java

   Copy code

       Browser browser = BrowserFactory.attach(new BrowserDescription.Builder().set("remoteDebuggerAddress", "localhost:9222")
                       .set("mode","MsEdgeWebView2")
                       .set("webdriverPath","C:\\Users\\leanft\\Downloads\\edgedriver_win64\\msedgedriver.exe")
                       .build());

   JavaScript

   Copy code

       Web.Browser.attach({

                   "remoteDebuggerAddress": "localhost:9222",

                   "mode": "default",

                   "webdriverPath": "C:\\Users\\leanft\\Downloads\\chromedriver_win32\\chromedriver.exe"

               }).then(function(launched_browser){

                   browser = launched_browser;

               });

   For details on the Attach method, see the .NET, Java, and JavaScript SDK References.

Using different ChromeDriver versions

Make sure that the ChromeDriver (or Edge Driver) file being used supports the Chromium version of your embedded browser control.

1. Check which Chromium version your embedded browser is based on.
2. On the ChromeDriver Downloads page online, check which ChromeDriver versions support your embedded browser's Chromium version.
3. In the Support Matrix, find the installed ChromeDriver version.

If required, download the necessary version of the chromedriver binary file from ChromeDriver website, and replace the one here: <Installdir>\bin\WebDriver\chromedriver.exe

If you cannot replace this file for any reason, or if you want to use multiple ChromeDrivers in parallel, place your driver file in an accessible location, and specify this location in the attach step that you use to connect to the embedded browser.

Back to top

## Manually update browser policies to allow OpenText Functional Testing Agent extension installation

If the extension fails to install due to your browser policy or if you didn't select the Set Chrome, Edge, Firefox options option during installation, manually allow the installation by performing the following changes:

Caution: Make sure that your company's security policies permit you to make this change.

Edge

- Add the OpenText Functional Testing Agent Chrome Extension to the list of allowed extensions. For details, see https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#extensioninstallallowlist.

  The extension ID for this extension: `okcnnfilhfjanfgamdogjdjlhjedpcmc`

- Add OpenText Functional Testing for Developers to the list of applications allowed to communicate with the extension. For details, see https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#nativemessagingallowlist.

  The application to add is: `com.hp.uft.nativemessaginghost`

  To enable this communication, you also need to enable the NativeMessagingUserLevelHosts option. For details, see https://docs.microsoft.com/en-us/deployedge/microsoft-edge-policies#nativemessaginguserlevelhosts.

Chrome

- Add the OpenText Functional Testing Agent Chrome Extension to the list of allowed extensions. For details, see https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExtensionInstallAllowlist.

  The extension ID for this extension: `diehbhlilimilljbbcilhnioomfkdpnk`

- Add OpenText Functional Testing for Developers to the list of applications allowed to communicate with the extension. For details, see https://cloud.google.com/docs/chrome-enterprise/policies/?policy=NativeMessagingAllowlist.

  The application to add is: `com.hp.uft.nativemessaginghost`

  To enable this communication, you also need to enable the NativeMessagingUserLevelHosts option. For details, see https://cloud.google.com/docs/chrome-enterprise/policies/?policy=NativeMessagingUserLevelHosts.

Firefox

Add the OpenText Functional Testing Agent Firefox Extension to the list of extensions to install. For details, see https://github.com/mozilla/policy-templates/blob/master/README.md#extensionsettings.

The path to add for this extension is:

OS | Extension path
--- | ---
Windows | <Installdir>\Installations\Firefox\WebExtension.xpi
Linux / Mac | <Installdir>/Installations/Firefox/WebExtension.xpi

Back to top

See also:

- Tips & tricks - Web testing

https://admhelp.microfocus.com Functional Testing for Developers 8942
Tips to improve your search results... OpenText™ Functional Testing for Developers Help Center OpenText™ Functional Testing for Developers Help 25.2 All View Local Help Center View Online Help Center Version: