Known Issues - Embedded frameworks and headless browsers

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

Chromium Embedded Framework (CEF) / Electron / JxBrowser / NW.js / Microsoft Edge WebView2

UFT One has the following known issues when working with CEF, Electron, JxBrowser, NW.js frameworks, and Microsoft Edge WebView2 apps.

Non-supported features

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

  • Navigate and Learn

  • Drag and Drop

  • Active Screen

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

  • Low-level recording

On JxBrowser, running tests on multiple tabs or windows is not supported.

Non-supported objects and methods

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

  • * about://* pages

  • * chrome://* pages

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

  • Modal or modeless dialog boxes

  • WebFile test objects

  • ViewLink test objects

  • WebAgGrid and WebUIGrid objects
  • WebXML test objects

  • Browser methods

    Note: On CEF applications, the following browser methods are not supported: 

    OpenNewTab, Close, ClearCache, DeleteCookies, CloseAllTabs, FullScreen, Maximize, Minimize, DialogExists, HandleDialog, Quit, Restore

    All other browser methods are supported only when running tests.

Checkpoints

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

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.

Spying

Electron only:

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 One to uniquely identify each window.

Highlighting objects in the application

When working with Web extensibility-based test objects, including UFT One's Web 2.0 Add-in test objects, highlighting does not always highlight the expected area.

Electron objects only

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

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

CEF objects only

To enable UFT One to recognize objects in a CEF application:

By default, UFT One expects the windows class name of the application's web element container to begin with Chrome_WidgetWin.

To support cases that don't start with Chrome_WidgetWin: Modify the HKEY_CURRENT_USER\Software\Mercury Interactive\QuickTest Professional\MicTest\Packages\WebPackage\Settings\CEFWindowClassPrefix registry key value. Enter the windows class name prefix used in your application's web element container.

Note: Some registry keys intentionally include previous company branding, due to backward compatibility considerations.

Localized versions of UFT One

When working in localized versions of UFT One, connecting to an application that includes CEF, Electron, or JxBrowser objects using localhost may result in errors.

In such cases, use the 127.0.0.1 IP address instead.

Microsoft Edge WebView2 only

Microsoft Edge WebView2 does not enable automatically playing audio and video files. Therefore, when you run the WebAudio.Play and WebVideo.Play methods for the first time on a Microsoft Edge WebView2 application, these methods do not work.

Workaround: Before running the WebAudio.Play and WebVideo.Play methods, manually play the audio or video files on the application first.

Ending processes manually

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

  • If UFT One was connected to an incorrect port

  • If the application was not closed correctly.

In such cases, you must end these processes manually to avoid unexpected behavior when working with the CEF / Electron / JxBrowser / NW.js / Microsoft Edge WebView2 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 One Object Model Reference for GUI Testing.

Back to top

Testing on headless browsers

UFT One 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

Unsupported test objects and methods when running Web tests

The following test objects and methods are not supported when running Web tests on headless browsers:

Headlesss Chrome only:

  • WebAgGrid and UIGrid objects

  • Browser.Maximize and Browser.Minimize methods

PhantomJS only:

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

  • Browser dialogs, such as Alert, confirmation, or prompt dialogs

  • 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:

  • about://* pages

  • iFrame or cross-domain iFrame objects

  • Operations related to multiple tabs.

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

  • Browser.ClearCache

  • Browser.DeleteCookies

  • Browser.HandleDialog

  • Browser.Home

  • Browser.IsSiblingTab

  • Browser.Object

  • Browser.Stop

  • ViewLink

  • WebFile

Unsupported methods when running steps that use AI object identification

The following methods are not supported when running steps that use AI object identification on Headless Chrome:

  • Hover

  • ScrollOnObject

  • Scroll

  • DoubleClick

  • RightClick

  • LongClick

  • AIUtil.Context.SetBrowserScope BrowserWindow

  • AIUtil("combobox").Select is supported if UFT One identifies the object as a WebList and the object's design is not based on the HTML Select element.

AI-based testing is not supported on other headless browsers.

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: