Known Issues - Embedded frameworks and headless browsers

This topic lists known issues when using UFT to test Web apps in embedded frameworks and headless browsers.

Chromium Embedded Framework (CEF) / Electron / NW.js

UFT has the following known issues when working with CEF, Electron, and NW.js frameworks.

Earlier Chromedriver versions

If you are using a version of the Chromium framework for your Java CEF, CEF Sharp, or AdobeCEP application that is older than 2.40, you must modify the Chromedriver version installed with UFT to match your application's version.

In the <UFT installation folder>/bin/WebDriver directory, replace the chromedriver.exe file with a the version that matches your application.

For more details, see http://chromedriver.chromium.org/downloads.

Non-supported features

The following features are not supported when working with CEF, Electron, or NW.js apps:

  • Navigate and Learn

  • Drag and Drop

  • Active Screen

  • Web options (Tools > Options > GUI Testing tab > Web node)

  • Recording on multiple tabs or windows

  • Low-level recording

Non-supported objects and methods

The following objects and methods are not supported when working with CEF, Electron, or NW.js apps:

  • * about://* pages

  • * chrome://* pages

  • Browser dialog boxes (like Alert, Confirm, Prompt)

  • Browser methods

  • Cross-domain iFrame objects

  • Modal or modaless dialog boxes

  • WebFile test objects

  • ViewLink test objects

  • WebXML test objects

Recording

While recording, if a page navigation script is displayed after the page is fully loaded, and you continue to record directly, you may end up with errors in your script.

To ensure that the correct script is recorded with no errors, wait until the navigation step is fully recorded before continuing.

If your navigation step is not recorded at all, add it manually.

Checkpoints

Only standard, bitmap, and text/text area checkpoints are supported.

Electron objects only

UFT supports applications in the Electron framework only when run in sandbox mode.

For example, launch your application with the --enable-sandbox command.

Localized versions of UFT

When working in localized versions of UFT, connecting to an application that includes Chromium Embedded Framework or Electron objects via the localhost may have errors.

In such cases, use the 127.0.0.1 IP address instead.

Ending processes manually

You may need to end the WebDriverHost.exe or chromedriver.exe processes manually in the following situations:

  • If UFT was connected to an incorrect port

  • If the CEF or Electron application was not closed correctly.

In such cases, you must end these processes manually to avoid unexpected behavior when working with the CEF / Electron / NW.js application.

Tip: Add the WebUtil.DetachRemoteDebugging method to your test to end these processes during the test. Define the method with the application's IP address and port.

For more details, see the WebUtil object in the Utility section of the UFT Object Model Reference for GUI Testing.

Spying

When spying on two Electron windows that have identical sizes and titles, resize one of the windows before spying and adding objects.

This enables UFT to uniquely identify each window.

Back to top

Shadow DOM

UFT has the following known issues when working with Shadow DOM.

Browsers

Testing apps developed with Shadow DOM is supported only in Chrome.

Development mode

Testing apps developed with Shadow DOM is supported only when the Shadow DOM open development mode was used.

For example:

"mode: 'open'"

Unsupported properties

The following properties are not supported:

  • css
  • xpath
Web 2.0 UFT's support for Shadow DOM does not include test objects created with Web 2.0 technologies.

Back to top

Testing on headless browsers

UFT has the following known issues when working with PhantomJS and Headless Chrome.

Supported Chrome versions Headless Chrome is supported only in Chrome versions 60 or higher.
Recording Recording on PhantomJS toolkits or Headless Chrome is not supported.
Data driving If you are data driving your test, we recommend adding a Browser.CloseAllTabs method to the end of each iteration to prevent failures in your test runs.
Non-supported features

The following features and objects are not supported when working with PhantomJS apps:

  • Recording

  • Object Spy

  • Highlight in Application

  • Navigate and Learn

  • Add Objects to Local button in the Object Spy

  • Drag and Drop functionalities

Non-supported objects

The following test objects are not supported:

  • about://* pages

  • iFrame or cross-domain iFrame objects

  • Objects created with Web 2.0 technologies (ASAP .NET AJAX, Dojo, Google Web Tools, jQueryUI, SiebelOpenUI and YahooUI)

  • PhantomJS only: Browser dialogs, such as Alert, confirmation, or prompt dialogs

Test Objects and Methods

PhantomJS only:

  • When running tests with the CaptureBitmap method with a large page source, a general run error is thrown.

  • The following test object methods and application objects are not supported:

    • Link object created by the role=link property

    • WebAudio

    • WebButton created by the role=button property

    • WebList created by the role=list property

    • WebMenu

    • WebTable created by the role=table or role=grid property

    • WebTabStrip

    • WebTree

    • WebVideo

PhantomJS / Headless Chrome:

The following test object methods and application objects are not supported:

  • Browser.ClearCache

  • Browser.DeleteCookies

  • Browser.HandleDialog

  • Browser.Home

  • Browser.IsSiblingTab

  • Browser.Object

  • Browser.Stop

  • ViewLink

  • WebFile

Replay type

The Mouse replay type is not supported. Use Event replay type instead.

Running tests Maintenance Run Mode is not supported.

Back to top

See also: