Plugin-specific settings

Plugin-specific settings can be used to alter the behavior of individual Ranorex plugins, for example, to achieve backward compatibility with older versions. Plugin-specific settings are grouped in User settings and Solution settings.

tipp icon

Attention

Most of these settings affect Ranorex Studio’s object recognition capabilities. Changes can easily lead to test failures. Only change these settings if you’ve been instructed to do so by Ranorex support or official documents.

Settings that do not affect object recognition or are generally safe to use are marked with an asterisk *. It’s ok to change them.

In this chapter

    Plugin-specific settings overview

    Plugin-specific settings overview

    The plugin-specific settings are accessible through the settings dialog and the tab page Plugins. The plugin-specific settings are grouped as follows:

    Solution settings
    User settings

    CEF (solution setting)

    Process name black list

    This list contains process names (without the file extension) which should be ignored by the CEF plugin. If a process should be ignored by the CEF plugin, add it to the list in a new line.

    Delphi (solution setting)

    Enabled

    Determines if the Delphi plugin is enabled.

    Java (solution setting)

    Enable filtering on the Fx scenegraph

    Filters dummy and intermediate containers out of the Fx scenegraph.

    Show SWT custom data properties

    Includes SWT custom Widget Data values as dynamic properties.

    Use Java SWT legacy automation mode

    Enable Java SWT legacy automation mode using MSAA and Win32

    Whitelisted class names

    Adds additional whitelisted class names (comma separated) for java object recognition.

    Mobile (solution setting)

    Android OS Automation

    Enables automation on Android OS screens. Disable to increase performance.

    * Auto-reconnect attempts

    When the connection to a device is lost Ranorex tries to reconnect automatically. With this parameter, you can specify how many reconnect attempts should be made until the device will be set to the ‘Error’ state. If you don’t want to reconnect automatically, set this parameter to 0.

    * Connect timeout

    After this time span, the connection attempt will be aborted if the device is not reachable.

    * Deploy timeout

    Sets the timeout for deploying a mobile app. The required time depends on your application size and the deploy method. Deploying an app takes longer when deploying via a network.

    Devices

    This is used internally by the Ranorex system and is not user editable.

    * General timeout

    The timeout for short running background processes. This timeout is used for very short running processes (less than 10 seconds in general). If you get a lot of timeout exceptions, that does not occur during special operations like instrumentation or deploying, try to increase this value.

    * Group devices by

    Determines how devices are grouped in a dialog.

    * Instrument timeout

    Sets the timeout for instrumentation operations. A good initial value is 2 minutes. For very large applications the time required for instrumentation can take up to 10 minutes depending on the machine power.

    iOS: Maximum number of invisible children

    • -1 will fetch all cells of UITable and UICollection views. Use this setting only, when all views have a relatively small number of cells and static/finite data sources.
    • 0 will disable fetching of invisible cells. Generally, you should use this setting, when data in your tables is loaded dynamically e.g. from successive web requests.
    • # (e.g. 50) will fetch all visible cells and the first 50 cells surrounding the visible cells area.

    Java Runtime installation path

    The path of the currently used Java Runtime Environment (JRE) installation required for Android automation.

    * Network discovery timeout

    Specifies for how long Ranorex sends UDP broadcasts to find devices that can be used for automation. Normally, a device should respond within a few seconds.

    Prompt on IP – address change

    If set to true, Ranorex will try to check if the IP-address of a device has changed since the last usage and will show a message if so. By setting this parameter to false you can disable this check.

    * Remote call timeout

    The time Ranorex waits for a remote procedure call response until it assumes a connection loss if no response was received.

    * Screenshots on AndroidOS

    Captures screenshots on AndroidOS screens. Disable to improve test execution performance.

    * Sort devices by

    Determines how devices are sorted in a dialog.

    * USB discovery timeout

    The timeout for discovering USB connected devices.

    Mouse (solution setting)

    Mouse move interpolation mode

    Interpolation modes for the mouse cursor moving between start and end points (Mouse.Move(..)).

    MSAA (solution setting)

    Evaluate computationally expensive attributes

    Setting this value to true will instruct the plugin to evaluate attributes that are expensive to compute and may result in longer delays when getting such attributes. Note that spying an element with such expensive attributes may then take considerable time.

    Filter elements

    Setting this value to false will make all MSAA elements available without filtering, including elements being unavailable, invisible, or equivalent to elements of other flavors.

    Filter Windows Forms elements

    Setting this value to false will make MSAA elements available that are direct children of Windows Forms elements and have the same role and screen rectangle as the parent element.

    Filtering compatibility level

    If you need legacy RanoreXPaths (created with an older Ranorex version) to work with the current Ranorex version, set this property to the appropriate value matching the Ranorex version used to create the legacy RanoreXPaths.

    Refine FromPoint results

    Setting this value to true results in an additional search operation for a better fitting element for every MSAA FromPoint operation (e.g. used by Element.FindFromPoint). This may produce better results if the MSAA FromPoint implementation of a control is broken.

    *Performance tracing (solution setting)

    This setting is explained in Ranorex Studio advanced > ⇢ Performance tracing

    Qt (solution setting)

    Enable filtering on the QtQuick scenegraph

    Enables filtering of the QtQuick scenegraph by skipping or removing unnecessary layout, loader and style items.

    Use QT legacy automation mode

    Enable Qt legacy automation mode using MSAA and Qt Accessibility.

    UIA (solution setting)

    Enable debugging mode for Windows apps

    If set to true, the debugging mode for Windows apps will be enabled, causing them to not be suspended until the login session is closed (user logout). When set to false, the plugin will instead try to resume suspended apps when it needs to access them (possible race condition may cause freeze until the app is manually resumed).

    Enable filtering of Windows app frames

    If set to true, the frames of Windows apps introduced with Windows 10 are filtered and all relevant elements of those frames are displayed as the child of the app element. This allows for transparent automation of Windows apps in windowed and full-screen mode.

    Enumerate lists using the ItemContainerPattern

    Setting this value to true instructs the plugin to use the ItemContainerPattern to iterate items of virtual lists that implement this UI Automation pattern. Depending on the implementation of the control, iterating children using this pattern should also return items that are currently scrolled out of view, but might also be slower than the usual way to get child elements. Note that switching this setting can render existing RanoreXPaths invalid for controls implementing the ItemContainerPattern.

    Evaluate computationally expensive attributes

    Setting this value to true will instruct the plugin to evaluate attributes that are expensive to compute and may result in longer delays when getting such attributes. Note that spying an element with such expensive attributes may then take considerable time.

    Force virtual items to be realized

    Forces virtual items to be realized when trying to get their child elements. Setting this value to true will allow searching lists with virtual items, but realizing may have undesired effects on the list depending on the list implementation, e.g. that the list is scrolled to make the realized item visible.

    Provide elements for non-WPF windows natively implementing UIA

    Setting this value to true instructs the plugin to provide elements also for non-WPF windows which natively implement the UIA interface.

    Subscribe to the UIA FocusChangedEvent

    If set to True, the plugin subscribes to the UI FocusChangedEvent, which may cause applications (like MS PowerPoint) to create more UIA elements and thus may improve object recognition, but may also negatively affect performance.

     

    Web (solution setting)

    Enable automation of embedded IE web documents

    Enable automation of Internet Explorer web documents embedded in other applications.

    WebDriver (solution setting)

    Attach to open sessions

    Attach to existing WebDriver sessions to analyze and debug tests. Not recommended for high-latency environments. If the setting is disabled, tests/debug runs have to include an ‘Open Browser’ Action.

    Browser Tab Automation

    Enable automation of multiple tabs in a browser. Not recommended for high-latency environments.

    DOM fetch mode

    Can be set to ‘Always’ or ‘WhenChanged’. Always: DOM will be updated at specific intervals. WhenChanged: Before DOM is fetched a call to check for changes is done. Only after DOM changes are detected, the whole DOM is pulled from the remote. This setting preserves bandwidth.

    DOM update interval

    The timespan of the interval to update the DOM.

    * Screenshot update interval

    The timespan of the interval to update the screenshots. Will cause errors if too small.

    Update screenshots after dom change

    Update screenshots after DOM changing operations (e.g. mouse clicks). Not recommended for high-latency environments.

    * WebDriver Command Timeout

    Maximum wait duration for a web driver command to return a result. If the call takes longer a timeout exception will be thrown and may set the endpoint into the error state. This parameter does only take effect after a program restart.

    Win32 (solution setting)

    *Black-listed process names

    Process names you enter here are blacklisted for object recognition, i.e. Ranorex Studio and its components will not be able to identify UI elements in these processes.

    Processes entered here are ignored if there are entries in the whitelist or in the setting “White-listed process names” (see below).

    Enable accessibility (MSAA) actions and attributes

    Specifies whether Win32 elements provide accessibility (MSAA) actions and attributes (as a Dynamic capability).

    Enable basic Delphi support

    Enables support for basic Delphi controls such as textboxes, buttons, etc. Set to false for backward compatibility.

    Read UI Automation attributes

    Specifies whether the AutomationId is tracked and presented.

    Show hidden elements in the element tree

    Specifies whether hidden elements are visible in Spy.

    Use legacy Form role

    Enables 2.X legacy mode where many elements improperly had the Form role. Set to True for backward compatibility with 2.X paths.

    *White-listed process names

    Process names you enter here are whitelisted for object recognition, i.e. Ranorex Studio and its components will be able to identify UI elements only for these processes, all others will be ignored.

    This setting shares entries with the ⇢ whitelisting feature and is a simpler version of it. Overrides entries in the setting Black-listed process names.

    WPF (solution setting)

    Allow selected instance properties

    Extend the dynamic attribute list with entries for plain .NET properties. Each line specifies a full-type name and the attribute name, separated by a pipe, like Ranorex.ExampleType|IsAvailable

    Disable WPF plug-in for processes

    Do not use the native WPF plug-in for any process specified in the list; keep using UIAutomation for WPF as in Ranorex version up to 5.2.

    Enable WpfDebug capability

    Enable the WpfDebug capability for all WPF elements. This capability provides attributes and dynamic actions that are useful for analyzing an issue in the element tree.

    Ignore Attributes starting with

    Reduce clutter in the list of dynamic attributes.

    Realize Items in Virtualizing Containers

    Many WPF containers only show children which are also visible on the screen; to show all child-items, set this option to true. By default, this is false, as the performance impact for large grids can be very high.

    Show All Elements

    Show the complete element tree, incorporating all visual and logical WPF elements. This option disables any other filtering and is useful for analyzing the structure of WPF applications when elements cannot be accessed.

    WPF Legacy/UIA Interaction

    Tree Strategy Name (##) Definition Tree 1 (**) Tree 2 (***) WPF tree structure WPF Core tree structure
    WPFOnly Only shows the native WPF plugin tree and suppresses UIA. WPF (legacy) (####) Not produced Classic (Legacy) Improved (###)
    WPFPreferred Shows both WPF and UIA trees, and returns the WPF elements for tracking. WPF (legacy) (####) UIA Classic (Legacy) Improved (###)
    UIAPreferred Shows both UIA and WPF trees, and returns UIA elements for tracking. UIA WPF (legacy) (####) Classic (Legacy) Improved (###)
    UIAOnly Completely deactivates this plugin, making all other settings obsolete.  This does not use the native WPF plugin. UIA Not produced Classic (Legacy) Not used for UIA
    WPFImprovedOnly (Default option) Only shows the improved native WPF plugin tree and suppresses UIA. WPF Not produced Improved (###) Improved (###)
    WPFImprovedPreferred (New option) Shows both WPF and UIA trees and returns the WPF elements for tracking. WPF UIA Improved (###) Improved (###)
    UIAPreferred_WithWPFImproved (New option) Shows both UIA and WPF trees and returns UIA elements for tracking. UIA WPF Improved (###) Improved (###)
    References:
    (##) The tree strategy is used to build the tree where the root element is WPF or WPF Core based.
    (**) The first tree is used for recording or tracking elements. When the user clicks track elements from this tree, they are grabbed and inserted into the solution.
    (***)  The second tree is used to create solutions by hand using the repository’s elements.
    (###) The improved WPF tree filters out unwanted items or items that are not useful for the solution.
    (####) The legacy WPF tree should be used only for customers using solutions before Ranorex version 10.0.

    Additionally, Ranorex must be run as an Administrator under specific scenarios to work correctly:

     

    Tree Strategy Name Using Windows 10 Using Windows 11
    WPFOnly Admin mode Standard mode
    WPFPreferred Admin mode Admin mode
    UIAPreferred Standard mode Admin mode
    UIAOnly Standard mode Standard mode
    WPFImprovedOnly Standard mode Standard mode
    WPFImprovedPreferred Standard mode Admin mode
    UIAPreferred_WithWPFImproved Standard mode Admin mode

    Further reading

    An improved WPF plugin (Ranorex 7.0+) is introduced and explained in > Interfaces & connectivity > Plugins > ⇢ Improved WPF plugin.

    WPF Tree (solution setting)

    Always Show Visual Children

    Always show the visual children for specific types, even if those types do also have one or more logical children. Enables accessing elements that are not part of the logical WPF element tree, like data-binding generated elements for well-known types. Example: “CurrentType|ParentType|ApparentParentType” Each entry is a pipe (the | character) separated tuple of type-names for (current, parent, apparent-parent) elements. An empty field denotes match-all, e.g. “FrameworkElement||” matches for all parent and apparent-parent elements.

    Never Show Visual Children

    Do not show the visual children for matching elements, even if those types do not have any logical children. Reduces unnecessary element tree branched. Example: “CurrentType|ParentType|ApparentParentType” Each entry is a pipe (the | character) separated tuple of type-names for (current, parent, apparent-parent) elements. An empty field denotes match-all, e.g. “FrameworkElement||” matches for all parent and apparent-parent elements.

    Skip Elements

    Neither show nor traverse elements for specific types. Reduces the size of the element tree by hiding types not used in UI testing. Example: “CurrentType|ParentType|ApparentParentType” Each entry is a pipe (the | character) separated tuple of type-names for (current, parent, apparent-parent) elements. An empty field denotes match-all, e.g. “FrameworkElement||” matches for all parent and apparent-parent elements.

    Skip Elements but Descend to Children

    Reduce the hierarchy levels by always hiding redundant elements, and instead of continuing the tree with its children. By default, this skips over some common nested containers constructs. Example: “CurrentType|ParentType|ApparentParentType” Each entry is a pipe (the | character) separated tuple of type-names for (current, parent, apparent-parent) elements. An empty field denotes match-all, e.g. “FrameworkElement||” matches for all parent and apparent-parent elements.

    Skip Elements but Descend to Single Child

    Reduce the hierarchy levels by hiding redundant containers, if they have none or only one child element. By default, this hides some layout-containers. Containers will be shown if they contain at least two children. Example: “CurrentType|ParentType|ApparentParentType” Each entry is a pipe (the | character) separated tuple of type-names for (current, parent, apparent-parent) elements. An empty field denotes match-all, e.g. “FrameworkElement||” matches for all parent and apparent-parent elements.