Choosing the correct plugin for your Windows application helps you build stable, efficient, and maintainable tests. Ranorex Studio can work with different Windows UI technologies, and each plugin provides a different level of access to UI elements, properties, controls, and automation interfaces.
This article focuses on Windows desktop applications, especially when you need to choose between the WPF plugin and the UIA plugin. For a complete list of available plugins, see Available Plugins.
Before You Choose a Plugin
Before choosing a plugin, identify the technologies used by your application under test.
Consider the following questions:
- Is the application built with WPF, Windows Forms, Qt, Delphi, Win32, or another Windows UI technology?
- Does the application combine multiple UI frameworks?
- Does the application use custom controls or third-party controls?
- Do you need access to framework-specific properties?
- Does the application expose reliable accessibility information?
- Are you troubleshooting slow or unstable object recognition?
The best plugin depends on how the application exposes its UI elements to Ranorex Studio.
WPF Plugin
The WPF plugin targets .NET (WPF) applications. It interacts directly with the framework.
Benefits
- WPF-specific properties: You gain access to properties unique to WPF controls, such as custom attributes and complex controls, which helps create robust and scalable tests.
- Optimization: The plugin handles advanced controls like data grids and custom templates effectively, making it easier to track specific UI parts.
- High performance: Because it interacts directly with the WPF framework, this plugin offers superior speed for WPF-based solutions.
You should use the WPF plugin when you work purely with WPF applications, automate complex controls, or prioritize performance in your test solutions.
UIA Plugin
The UIA plugin uses Microsoft’s UI Automation framework, which provides a standardized interface for accessibility and automation across various Windows UI technologies.
Benefits
- Broad compatibility: UIA works across multiple technologies, including WPF, WinForms, and UWP. UIA offers consistent automation across these platforms.
- Accessibility support: Since UIA is a core part of Microsoft’s accessibility infrastructure, it’s widely supported across different Windows UI technologies. This is especially useful for applications that prioritize accessibility.
- Ease of use: While UIA can’t access all the properties and controls of the elements, it provides the basic details that can be used to identify them uniquely. For applications that combine multiple frameworks, the UIA plugin provides a unifying interface to automate those applications.
Comparison: UIA vs. WPF
| Feature | UIA Plugin | WPF Plugin |
| Compatibility | Works with WPF, WinForms, UWP | Optimized for .NET(WPF) applications |
| Performance | Moderate performance | Very fast performance for WPF applications |
| Object Recognition | Basic object recognition across different Windows applications UIs | Precise identification for WPF, including custom controls and properties |
| Complex Control Support | Limited for WPF-specific controls | Excellent for advanced WPF controls |
| Custom Control Support | Moderate | Excellent for WPF custom controls |
| Use Case | Mixed-technology, accessibility-focused apps | WPF apps with complex UIs and high performance needs |
UIA is very versatile, although it doesn’t offer the same level of control and specific access as WPF. It can help with automating legacy applications that may heavily rely on third-party controls.
Troubleshooting Plugin Selection
If object recognition is slow, incomplete, or unstable, check the following:
- Confirm which UI technology your application uses.
- Track the element with Ranorex Spy and review the generated RanoreXPath.
- Check whether Ranorex Studio is using the expected plugin.
- Compare object recognition with the WPF plugin and UIA plugin when testing WPF applications.
- Review plugin-specific settings only when instructed by Ranorex Support or official documentation.
- Check whether the application uses custom controls, third-party controls, or embedded browser content.
Want to learn more about what works best for you and how to build your tests?
Contact Support now for more information tailored to your specific needs.