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.
The following features are not supported when working with CEF, Electron, JxBrowser, NW.js, or Microsoft Edge WebView2 apps:
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:
Only standard, bitmap, and text/text area checkpoints are supported.
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.
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 via the localhost may have 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:
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.
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.|
The following features and objects are not supported when working with PhantomJS apps:
|Unsupported test objects and methods||
Headlesss Chrome only:
PhantomJS / Headless Chrome:
The Mouse replay type is not supported. Use Event replay type instead.
|Running tests||Maintenance Run Mode is not supported.|