Known issues

This section describes known issues when working with OpenText Functional Testing for Developers.

OpenText Functional Testing known issues are relevant as well. For details, see Known issues in the OpenText Functional Testing Help Center.

IDE Plugins

General

  • When using the Highlight option in the application model for a test object with VRI objects defined, the highlight operation succeeds only if exactly one object matches the description (including the VRI definitions). If multiple objects match, nothing is highlighted.

    Workaround: Use the VRI Preview option to check the description.

  • When working with Java 9, application model features in the IDE plugins are not supported.

Mac OS

When working on Mac, make sure that you open any IDEs supported by OpenText Functional Testing for Developers at least once before installing OpenText Functional Testing for Developers. Otherwise, the installation adversely affects the IDE's installation and you can no longer open the IDE.

To repair a damaged IDE installation, run the following command: 

xattr -d com.apple.quarantine <Path to IDE application>

Eclipse on Linux

To work with application models in Eclipse on Linux, you must start Eclipse as a root user.

Eclipse 2021

An error occurs when working with application models in Eclipse 2021.

Cause: Incompatibility of some legacy OpenText Functional Testing for Developers files with the Java 16 JRE used in Eclipse.

Workaround: Add the following line to your eclipse.ini configuration file:

--illegal-access=permit

Eclipse-based IDEs

When working with the following environments, application model features are not supported:

  • Ubuntu with OpenJDK 9 or later

  • Fedora with OpenJDK 8 or later

Eclipse Kepler/Luna users

To use the Eclipse IDE for Java EE Developers or Eclipse Standard editions with the IDE plugin, you must deploy the Google Gson plugin to your Eclipse folder:

  1. Download the Google Gson plugin, version 2.1 or later, from the MVN Repository.

  2. Copy the downloaded .jar file to your <Eclipse deployment>\plugins folder and reopen Eclipse.
Visual Studio

Web-based AUTs

If your IDE is in front of your browser when you click the Highlight option from the Application Model editor or from the Object Identification Center, the Highlight rectangle appears, but sometimes the IDE window stays in focus and may block the object.

Workaround: Arrange your screen so that the IDE does not block your application.

IntelliJ IDEA
  • When moving an application model's .tsrx file to a different module/location while viewing it in the Editor's Design tab, the view changes to the Text tab.

  • IntelliJ suggests deleting some environment variables. Make sure not to delete the following variables: _JAVA_OPTIONS, JDK_JAVA_OPTIONS, and JAVA_TOOL_OPTIONS. These are installed by OpenText Functional Testing for Developers and are required for testing Java applications.

  • When creating or working with Application Models in IntelliJ IDEA 2022, you may encounter an error about user data not being supported.

    You can ignore this error, the functionality is not affected.

Changing the plugin installation on Linux or Mac

Use the Add/Remove Features option of the OpenText Functional Testing for Developers setup program to install or remove the IDE plugin from your IDEs.

If you make any changes to the plugin or IDE installation in other ways, keep the following in mind: 

The Add/Remove Features option assumes that the currently installed features are the ones last installed by the installer. If you made any manual changes in the plugin installation, the next time you use the Add/Remove Features option, you will not achieve the expected results.

For example, after manually removing the plugin, uninstalling the IDE, or moving it to another location, attempting to reinstall the plugin using the Add/Remove Features option does not install it. This is because the setup program assumes the plugin is still installed.

To fix this situation, first, run the installer as if to remove the plugins that are no longer there.

Then you can reinstall the plugin using the setup program's Add/Remove Features option.

Back to top

Running tests

Running a test project with multiple classes

If you run multiple tests and each one performs a cleanup step, you may encounter warnings such as Class Cleanup method ImageTests.ClassCleanup failed. You can ignore this message, it just means that one test was trying to clean up something already cleaned up by a previous test.

Parallel test runs

  • Parallel test runs are not supported on Internet Explorer and Edge Legacy browsers.
  • The WebElement.dragAndDropOn method is not supported in parallel test runs.
  • If you run AI-based tests in parallel, we recommend not including AIRunSettings steps. Any settings you change affect all tests running in the same parallel run session, and may cause unexpected results.

Back to top

Using a grid configuration

  • When running tests in grid mode, using VRI for object identification is supported only for web applications.
  • AGGrid and UIGrid objects are not supported when running tests on a Linux or Mac OpenText Functional Testing for Developers Grid node.

  • Nodes that connect to the same grid must have unique names. If multiple nodes with the same name connect to the grid, only the last node to connect will be available.

Back to top

Test recorder

  • You cannot use the test recorder to record an action on a Web.FileField. Add this code manually to your test script.
  • The Browser.closeAllTabs action does not work as expected on Firefox during a test recording. Add this code manually to your test script.
  • You cannot use the test recorder to record test steps on applications in Safari.

Back to top

Verifications

In some cases, a verification step on a multi-line text fails, though the expected and actual texts displayed in the report are identical.

Possible cause: The technology on which you are running the test requires a \r for line breaks.

Solution: Try adding a \r before each \n in the expected text in your step and try again.

Back to top

Run result reports

  • When you specify the report's location in the ReportConfiguration object, the folder name can contain only utf-8 characters.

  • When working in Java based IDEs (IntelliJ, Eclipse, Android Studio), the UFT Developer > View Last Run Results is sometimes unexpectedly unavailable, or it opens the wrong project's report.

    Workaround: Open the HTML Report manually from your project's location in the file system.

Back to top

PDF run result reports

  • To export run results to a PDF report, the run results folder must contain the runresults.json file. If you renamed this file for any reason, make sure to change the file name back before exporting the results to a PDF report.

  • If your run results include snapshots for each step, these are not exported to the PDF report.

  • When the run result descriptions are complex and include nested tables, some of the descriptions are not included in the PDF report.

  • You can export run results to a PDF report only on the same type of operating system that generated the results.

  • Some non-English characters are not supported, and are not displayed correctly in the generated PDF report.

Back to top

Text recognition - OCR methods

  • Text recognition depends on font and image quality, as well as spacing and resolution. In some cases, text is not recognized as you would expect.

  • To use OCR methods, the ABBYY OCR engine has to be included in the installation.

  • Version 23.4 introduced some text recognition enhancements that might affect the behavior of tests written with previous versions:

    • An updated version of the ABBYY OCR engine is now used, enhancing its text recognition ability. Therefore, the results of the GetTextLocation or GetVisibleText methods are now more accurate.
    • AI-based text recognition now ignores text identified in unexpected areas or controls, and breaks up text strings based on the borders of identified UI controls. If your tests require restoring the previous behavior, contact support for assistance.

Back to top

AI-based testing

  • When working on a computer that does not meet the AI installation requirements, some AI Object Detection features are still visible but are not supported. For requirements, see Installation guide.

  • You can change AI settings during a run, using the AiRunSettings class in the SDK.

    Changes you make during the run affect all tests running in the same runtime session. These may be tests running in parallel or sequentially in the same runtime session.

  • The following AI Object operations are not supported on mobile applications: RightClick, DoubleClick, LongClick, SetText and Hover.

Back to top

Technologies - general

  • When using the getSnapshot method, you can save the snapshot as a .png file only.
  • On Windows 10, if you have only the German language pack installed, the Keyboard.sendString method sends some special characters incorrectly.

    Workaround: Install the English language package in addition to the German one.

Back to top

Web technology

This section describes known issues when working on different web browsers.

Chrome and Edge

  • The FireEvent OnBlur event is not supported.
  • If a browser is open and has an alert message box displayed prior to the start of a test run, you must manually close the message box before starting the run.
  • Using the Forward method when the current browser page is about:blank throws an exception and fails the test.

    Workaround: when on an about:blank page use the Navigate method instead of the Forward method.

  • Sometimes, after a browser page loads, operations on the page fail. For example a WebTable.SelectCell method may fail to select the cell.

    Possible cause: The site continues to load data after the page is loaded, and the operation performed requires an object that is not ready.

    Workaround: Instead of opening the browser using BrowserFactory, open the browser using a system process and attach it using BrowserFactory.

    For example: 

    new ProcessBuilder("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe","<MyURL>").start();
    Browser browser = BrowserFactory.attach(new BrowserDescription.Builder().title("<URL Title>").type(BrowserType.<TypeOfBrowser>).build());

IE mode on Edge

In your test, you must add a Sync or Thread.sleep() step, after launching the browser using the Edge type and navigating to the application's URL. This extra time is required for your web page to be fully loaded in IE mode before trying to run test steps on it.

Headless Chrome

  • If you run a test on Headless Chrome on a Mac, make sure that your test closes the browser by the end of the run. Otherwise, you cannot open Chrome again until you manually kill the Headless Chrome process.

  • SAPUI5-based applications are not supported on headless Chrome.

  • Menu, TabStrip, and TreeView objects are not supported.

  • Cross-domain iFrame objects are not supported.

  • The following operations are not supported:

    • Drag-and-drop operations

    • Browser Dialog operations: HandleDialog, HasDialog, GetDialogText

    • ImageUtils operations

    • Browser.ClearCache

    • BrowserFactory.GetAllOpenBrowsers

    • WebFile.Set()

    • VRI

  • BrowserFactory.Attach. You can attach only to the first tab for each browser. You cannot attach to a tab opened from the web page or by an Open New Tab command.

Internet Explorer

  • When using Internet Explorer 11 on a computer with UAC enabled:

    If a step in the test navigates from a protected-mode zone to a non-protected-mode zone, the navigation step succeeds, but any subsequent step fails.

    Workaround: Reattach to the browser by calling BrowserFactory.Attach and then continuing with the browser that is returned.

  • When running tests in parallel on Internet Explorer 11, snapshots for controls received by the findChildren method do not appear in the run results report.
  • When recording on Internet Explorer on a computer with UAC enabled, whenever you browse from a protected-mode zone to a non-protected-mode zone, an additional browser-launch step is recorded.

Multiple instances

You cannot open more than one instance of the Edge browser. This includes multiple BrowserFactory.Launch methods without closing the previous instances, or other methods that create a new browser instance such as Browser.OpenNewTab

Frame or iFrame objects

You cannot spy on or run steps on Frame or iFrame objects, or any elements inside these objects, using Microsoft Edge.

Unsupported methods

The following methods are not supported in Microsoft Edge:

  • FullScreen()

  • DeleteCookies()

  • File.SetValue()

PhantomJS

Menu, TabStrip, and TreeView objects are not supported.

The following operations are not supported:

  • Drag-and-drop operations
  • Browser Dialog operations: HandleDialog, HasDialog, GetDialogText
  • WebFile.Set() operation
  • ImageUtils operations
  • VRI

Safari

Functionality and Settings

  • Web pages that modify the browser's JavaScript functionality (for example, a web page that replaces the JSON object) may cause OpenText Functional Testing for Developers to behave unexpectedly.

  • The font and color properties for link objects contain different values in different browsers.

  • Safari does not work on Mac using a remote access window.
  • You cannot use the test recorder to record test steps on applications in Safari.

Test Objects, Methods and Properties

  • When using Safari, the innertext, outertext, innerhtml and outerhtml property values may differ from other browsers. Therefore, using these values in parameters may cause the steps to fail.

  • The following test objects, methods, and other Web-specific functionalities are not supported in Safari:

    • ViewLink test object

    • about://* pages

    • Browser.Home method

    • Browser.FullScreen method

    • Browser.Object method

    • Modal or modaless dialog boxes
    • Developer Tools pane. (Running steps or Safari while the Developer Tools pane is open is supported.)
    • Dialog boxes opened by the browser, such as Alert, Confirmation, or Prompt messages.

    • WebXML test object (and, accordingly, XML checkpoints and output value steps).

    • Web-based environments, such as Web-based SAP, Siebel, Java, or .NET Web Forms.

Other

  • Web 2.0 test objects or Web Add-in Extensibility-based test objects are not supported on Safari

  • The following test objects and test object methods are not supported when running on Safari:

    • WebFile.Set method

    • Browser.ClearCache method

    • Browser.DeleteCookies method

    • Drag & Drop methods (on all Web test objects)

    • Web test objects located inside iFrame controls with a blank or about:blank SRC value.

  • During a run session, steps that click on a Web object that is supposed to open a new browser tab fail to open the new tab.

    Workaround: Deactivate the popup blocker in Safari. (Safari > Preferences > Security, clear the Block pop-up windows checkbox).

  • In some configurations, the Object Identification Center and test runs do not work properly on the first browser tab that is opened.

    Workaround: Select the Auto Proxy Discovery protocol in your network settings:

Firefox

You may want to remove unused OpenText UFT Agent extensions from Firefox manually:

  • The Firefox extension is not removed after you uninstall OpenText Functional Testing for Developers.

  • The old extension is kept in Firefox after you upgrade OpenText Functional Testing for Developers and a new extension is installed.

Attributes property (C#) or getAttributes property (Java)

In some cases, the Attributes collection returned by Attributes property (C#) or getAttributes (Java) may be different between Internet Explorer and other browsers such as Chrome or Firefox.

Navigating to a new page

If you perform a step that opens a new page immediately followed by an image capture operation such as OCR operations, image verifications or comparisons (VerifyImageMatch, VerifyImageExists, CompareImage, LocateImage) or the GetSnapshot method, the step may fail.

Workaround: Add a browser.Sync() step before your image capture operation.

SAPUI5

If the SAPUI5 add-in is loaded (selected in Settings > Engine tab ), Web TreeView, Menu, or TabStrip test object types cannot be recognized.

Back to top

Java technology

Working with JavaFX in Java 11

To use OpenText Functional Testing for Developers with JavaFX applications in Java 11, perform the following steps on the computer running your application:

  1. Download the JavaFX module from the Gluon site and store it locally.

    Caution: Make sure the path to the JavaFX module does not contain any spaces.

  2. Set the following environment variables.

    • PATH_TO_FX = <JavaFX module location>\lib.

    • In PATH, add %PATH_TO_FX%.

    • JDK_JAVA_OPTIONS = --module-path %PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml,javafx.base,javafx.swing,javafx.media --add-opens javafx.graphics/com.sun.glass.ui=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED --add-opens javafx.base/javafx.event=ALL-UNNAMED --add-opens javafx.graphics/javafx.stage=ALL-UNNAMED --add-opens javafx.graphics/javafx.scene=ALL-UNNAMED

Working with JavaFX in Java 12 or later

To use OpenText Functional Testing for Developers with JavaFX applications in Java 12 or later, perform the following steps on the computer running your application:

  1. Download the JavaFX module from the Gluon site and store it locally.

    Caution: Make sure the path to the JavaFX module does not contain any spaces.

  2. Set the following environment variables.

    • PATH_TO_FX = <JavaFX module location>\lib.

    • In PATH, add %PATH_TO_FX%.

  3. We recommend not running a command line window and your application at the same time. Therefore, launch the application from a batch file instead of using a command line that specifies the module path and dependencies:

    In the folder containing your application's .jar file, create a .bat file containing the following command: 

    start javaw --module-path="%PATH_TO_FX%" --add-modules={all modules required by your application} --add-opens {specify opens for modules if required} -jar <Application_Name>.jar

    Example:

    start javaw --module-path="%PATH_TO_FX%" --add-modules=javafx.controls,javafx.fxml,javafx.base,javafx.swing,javafx.media --add-opens javafx.graphics/com.sun.glass.ui=ALL-UNNAMED --add-opens javafx.base/com.sun.javafx.event=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.stage=ALL-UNNAMED --add-opens javafx.graphics/com.sun.javafx.scene=ALL-UNNAMED --add-opens javafx.base/javafx.event=ALL-UNNAMED --add-opens javafx.graphics/javafx.stage=ALL-UNNAMED --add-opens javafx.graphics/javafx.scene=ALL-UNNAMED -jar JavaFX.jar

    Save the .bat file and run it.

Installing Java on a Windows machine with OpenText Functional Testing for Developers

When re-installing or upgrading the JRE on a Windows machine with OpenText Functional Testing for Developers installed, you might encounter error 1603 preventing the JRE installation to complete.

This can be caused by an interference between the OpenText Functional Testing for Developers Java environment variables and the Java installer.

To successfully complete the installation, rename the OpenText Functional Testing for Developers Java environment variables, perform the JRE installation and restore the variable names.

To temporarily rename the Java environment variables: 

  1. On your Windows Desktop, right-click My Computer or This PC and select Properties.

  2. Select the Advanced tab.

  3. Click the Environment Variables... button.

  4. Look for the following environment variables both under the user variable list and the system variables list and edit their names:

    • _JAVA_OPTIONS

    • Java_Tool_Options

    • IBM_Java_Options

  5. Install the JRE.

  6. After the installation completes, change the environment variables names back to their original names.

Java 9

When working on Mac versions Sierra or later, the runtime engine tray icon is not displayed. To start and stop the runtime engine and to open the Settings dialog box, use command line scripts as described in the relevant topics. For details, see Customize the runtime engine settings and Start/Stop the runtime engine.

Back to top

.NET Windows Forms and WPF technologies

Windows Forms support

.NET 6 through 8 are supported as a Technical Preview.

Some objects supported in earlier .NET versions, such as PropertyGrid, ToolBar, Table, and StatusBar, will not be identified in these new versions.

To support these test objects, you can try using UIA Pro.

WPF ComboBox / WPF List test object

You cannot use the following to create the test object descriptions of WPF ComboBox or WPF List test objects:

  • C# properties: Items, SelectedItem, or SelectedItems
  • Java methods: getItems, getSelectedItem, getSelectedItems
WinForms Button test object

A WinForms Button test object cannot be identified if WindowId is the only property in its test object description.

WinForms Edit object

Before performing a Select operation on a WinFormsEdit object, you must first perform a Click operation on it.

Back to top

Oracle technology

To recognize Oracle application objects, you must install and load both the Oracle Add-in and the Web Add-in.

Back to top

Standard Windows technology

  • The ListViewItem.EnableLabelEditing method works only if it is preceded by an ActivateItem step.
  • In some cases, the application you are testing may have an integrity level higher than the test run. In such cases, run your test with Administrator privileges and/or open the runtime engine in Administrator mode.

Back to top

SAPUI5 technology

  • When spying on an SAPUI5 list box, the Object Identification Center (OIC) displays the control type as Unknown.

  • AgGrid and UIGrid objects are not supported in CEF and Headless Chrome.

SAP GUI technology

The GuiSessionFactory.Attach method does not work as expected.

Back to top

Terminal Emulator technology

  • The GetVisibleText()method from TestObjectBase does not work as expected for Terminal Emulator technology because of the third party library used for text recognition (OCR). This issue is known for other technologies as well.
  • SendKeys(Keys.ENTER) is not supported for TeTextScreen. To send the Enter key, use the Keyboard class. For details, see Send keystrokes to the AUT.

  • SetCursorPos and the properties current row and current column are not supported for TeTextScreen.

  • When highlighting Terminal Emulator test objects on IBM Host On-Demand or IBM i Access-Client Solutions, the highlighted location for some objects might be shifted.

    Workaround: Configure the text area and text screen settings in the Terminal Emulator Configuration Wizard. Run <Installdir>\bin\TeConfigWiz.exe to open the wizard, and then proceed to the Configure Emulator Screen Settings page. For details, see Configure Emulator Screen Settings Page, in the UFT One Help Center.

Back to top

Testing mobile applications

General issues

  • When a property with an empty value is used in a test object description, the test object is not identified in the Object Identification Center, nor in the test during the test run.

  • Validate on iOS devices only works if the test object properties used for validation do not include MobileCenterIndex or Container.

  • When opening several tabs in a browser on a mobile device, only the first tab opened is recognized by the OpenText Functional Testing for Developers engine.

  • When running a Web test on a mobile device, if a modal dialog box displays on the browser, the test pauses and in the end times out without completing.

  • Mobile Center supports identifying an object by its parents only if the parent is part of the object description. This means that if the parent is not recommended as an identification property, you cannot add the parent property to help identify the object.

  • Radio button controls that are not defined as part of a radio button group are not supported.

  • Testing on the SAP Fiori native browser is currently not supported when parallel test running is enabled (default).

    Workaround: If you want to run tests on the SAP Fiori native browser, deactivate parallel testing on mobile devices.

    To deactivate parallel testing on mobile devices:

    1. In a text editor, open a new file.

    2. Copy and paste the following code:

      {
        "labManager" : {
            "useLocalLabManager": true,
            "environments": ["web"],
         }
      }
      
    3. Save the file as config.json in the <Installdir>\lwe\lightweight-engine\config\ folder.

User interface issues

  • On Windows, when selecting a device using the OpenText Functional Testing Lab dialog box, the device is not released when the dialog box is closed.

    Workaround: To release the device, you must manually restart the  runtime engine.

  • When connected to an iOS device, you cannot use the Object Identification Center to spy on a Mobile TabStrip object.

    Workaround: Create the object description or application model test object manually. See the SDK Reference for a list of available identification properties.

  • The Object Identification Center (spying objects) is not supported when emulating a device using Google Chrome's Device Mode.

  • When using the Object Identification Center to spy objects on Chrome or Safari browsers, if more than one tab is open on the browser, you can only spy the latest tab opened (the one on top).

  • When using the Object Identification Center for spying objects, unable to identify calendar and list in unpackaged applications.

Test object and method issues

  • Insight is not supported for the Application interface.

  • The Web.Frame object is not supported in Mobile browsers.

  • The following methods are not supported on iOS devices:

    Label.Tap() Stepper.Up()
    Label.LongPress() Stepper.Down()
    Pager.Set() TabStrip.Select()
    RadioGroup.Select() Table.Tap()
    Slider.SetPosition()
  • Device.SimulateIncomingSMS() and SimulateIncomingCall() are not supported.

  • Calling Mobile.EditField.getText for password fields, returns "encrypted text" instead of the actual value.

Back to top