Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

 

Ranorex - Automated Testing Tool for Desktop, Web & Mobile Applications

Franco Martinig, Methods & Tools

Ranorex is a software testing tool that allows you perform functional testing on desktop, web or mobile applications. It supports many user interface (UI) technologies that includes Java, HTML, C#, Flex/Flash, Android, iOS and Silverlight.

Web Site: http://www.ranorex.com/
Version tested: Ranorex Studio 4.1.5.17134 in February-March 2014 on Windows 8
System requirements: Windows XP, 7, 8, Windows Server 2003-2012
Microsoft .NET Framework 3.5 SP1 or higher installed for running Ranorex Studio
License & Pricing: from 690 to 3.490 euros depending on the license type.
More information on http://www.ranorex.com/purchase/buy-now.html
Support: support requests, on-line forums, on-line documentation.
More information on http://www.ranorex.com/support/support-center.html

Installation

After downloading the setup program, the process uses a classical windows install program and goes smoothly. Several Ranorex icons are added to your Windows pane.

  • Ranorex Studio
  • Ranorex Spy
  • Ranorex Test Suite Runner
  • Ranorex Instrumentation

Ranorex Studio is available on two different editions. The runtime only edition allows standalone test execution and the premium edition provides all features with node locked or floating licenses. The node locked license type is bound to the machine's host name. A floating user license can be shared between different machines.

Documentation

The complete documentation for the Ranorex suite is available on-line and consists of a user guide and screencasts. There is also a PDF version of the user guide that you can download on your computer. The open source tool KeePass is provided with Ranorex as an example application that is referenced in the documentation on how to use Ranorex.

Configuration

The global settings window of Ranorex is accessible from the different tools. These windows allow managing different parameters for the recording and replaying activity like the delays between each action or the number of snapshots captured.

Features

The Ranorex Studio is composed of different tools that provide their own features. All tools are integrated in the Ranorex Studio framework. The Ranorex Studio tools allow you to test applications running the following platforms:

  • Winforms, C#, VB.NET
  • Web (IExplorer, Firefox, Chrome, Safari)
  • WPF, Silverlight, Qt
  • SAP, Oracle Forms, MS Dynamics
  • Flash/Flex
  • Java
  • Android
  • iOS

In addition to the technologies Ranorex also supports:

  • Capture & Replay
  • Keyword-Driven Testing
  • Data-Driven Testing

To support the technologies of the applications under test, Ranorex uses an instrumentation system which is similar to the plugin system used by other software. This provides specific features for the technology tested. There is for instance an extension to install if you want to test a web application in Firefox or some files to include in the Java Swing and Java AWT applications if you want to test Java Swing and Java AWT applications.

Ranorex allows you to manage your test activity in a concept called solution where you can manage your testing projects. The project contains testing suites that are composed of testing scripts and code modules. A test suite allows creating new test cases by combining existing automation modules. You can also specify global parameters and data connectors to set up data-driven test cases.

The testing scripts can be created with Ranorex Recorder, but you can also write your testing code independently for more complex needs. This will allow you for instance to have test code using variables that allow running the same code for different test cases. Ranorex testing code can be managed with Subversion and Team Foundation Server.

Ranorex tests can also be data driven, using a simple internal data table or getting data from external sources like Excel files, CSV files or SQL Databases.

One of the core strength of the Ranorex tools is its repository. This tool provides a mapping between the user interface elements of the tested application and the testing framework. This reduces the efforts to maintain your tests as the items to manipulate in test are identified directly and not just by their placement on the user interface. In complex systems, the elements of the interface can be organized in folders, grouping for instance all the buttons. The repositories are stored in XML files that can be edited and managed like any other source code. A repository can be automatically generated during a recording session or manually populated. Ranorex Spy can also be used for this task. Multiple repositories can be used if many software testers are working on the same project.

Ranorex Studio

Ranorex Studio acts as the central tools for the Ranorex test suite. It is the tool that allows to manage all the testing items like the projects or tests suites. You can also start the other tools like the Spy and the Recorder that are totally integrated in the Studio. The Studio has three views

  • The project view (top left) shows all files and references currently associated with the project.
  • The 'Module Browser' view (bottom left) lists all available modules based on the project's code files and module groups based on the projects module group file.
  • The file view (large window right) shows the content of the selected item from the two other windows. You can create or adapt a recording module, write code modules or view a test report. In the example below, the upper part shows the test actions and the lower part the repository items for a test on the Amazon.com web site.

Figure 1. Ranorex Studio

Ranorex Recorder

The Ranorex Recorder is a tool used to record and replay the keyboard and mouse actions during a manual test of the user interface. You can start the recorder independently or from the Studio interface. The recorder operates from a small window with controls that you can activate with your mouse or with shortcuts. During the recording you can create checkpoint with the validate action. These validations can be done with the status of the elements of the user interface or you can validate images or screen regions of an application.

Compared to other Capture & Replay approaches, Ranorex recorder automatically separates UI actions including the script behind from the object identification layer. UI elements in Ranorex repositories are automatically created during recording or reused in case of existence. Based on the RanoreXPath object identification mechanism used in the repositories, recordings become a lot more robust against UI changes in the system under test.

Ranorex Spy

The Ranorex Spy provides the tool needed to explore and analyze your code and user interface whether it is a Windows, mobile or web application. You can for instance examine the different elements of a web page that you are testing and take snapshots. The Spy feature can be directly called from the Studio screen. Ranorex supports a large list of user interface technologies that are listed on http://www.ranorex.com/automate-testing-of-desktop-web-mobile-software.html

Ranorex Test Suite Runner

The Ranorex Test Suite Runner allows you to run the test suite independently from Ranorex Studio that can be done with only a runtime floating license. Each run of a test suite produces a test report. Tests can also be run from the command line if you want to integrate them with other tools like test management tools (HP Quality Center, etc.) or continuous integration servers (TeamCity, Jenkins, etc.).

Conclusion

The Ranorex Studio is a powerful software testing tool that supports a large number of applications technologies on the Windows, Web and mobile platforms. One of its core strength lies in its user interface items repository that separates the test logic from the user interface display, thus allowing to keep the same tests even when the interface changes. If the overall user interface and the usage main features are very intuitive, this tool requires a certain amount of time to benefit from its full power for your specific application development technology. This learning curve is however made easier by the support provided by the documentation, screencasts and user forums.

A 30 days free trial version of Ranorex can be downloaded from http://www.ranorex.com/download.html