Testing Blog Sponsored By     zephyr



GUI Automation Ranorex - A Review


Written by  Ritu Saxena | 12 April 2012
E-mail PDF

ranorexLot’s of tools available for UI automation testing. Every tool has its pros and cons. One of the few tools that provide adequate support for test automation and test management is Ranorex. Ranorex products are both cost-effective and based on standard programming techniques and languages, making them ideal for development teams of all sizes. Let’s discover what Ranorex has in offering for the GUI testing community.

Most appreciated Features

  • No wastage of time in creation of test cases
    • Ranorex provides support for creating script-less test cases. You can just record a scenario and a test case is created.
    • It also provides support for coding the test cases in C# or VB.Net which are very commonly used languages. Using this feature the tester can add on to the functionality of the test cases created by recording a scenario, if required.
  • Test automation support for a wide range of technologies
    • The Desktop Applications developed in the following languages can be tested  - .NET (C#, VB.NET), WPF (XAML), Win32, MFC, Java, NI Lab Windows etc
    • Ranorex provides support for 3rd Party Controls like Infragistcs, DevExpress, QT, SAP GUI controls etc.
    • Applications based on the following Web Technologies can be tested -  AJAX, Javascript, Adobe Flash/Flex, Silverlight, testing (validation points on HTML tags), HTML5 etc
    • It also supports Cross Browser Testing on the following browsers - Internet Explorer 6.0 and higher, Mozilla Firefox, Google Chrome, Apple Safari. The test cases generated on one browser can be easily ported onto the other and tested. It also supports embedded browsers
    • The Platforms Supported by Ranorex are- Windows 2003 Server, Windows XP, Windows Vista, Windows 2008 Server, Windows 7, Windows 8 Development Preview   
    •  Support for Testing of Android applications is on the way, might be available in the next release.

  • Excellent Object Recognition Capabilities

A lot of testimonials can be found on the Ranorex website and on other forums as well that Ranorex has excellent object recognition capabilities. The reason behind that is the robust RanoreXPath feature. A RanoreXPath is associated with all the testable elements appearing in the application under test. A RanoreXPath expression is a unique identifier of UI elements within a desktop or a web application consisting of: Adapters, technology dependent Attributes and Values. As shown in the figure below.

renorexxpath

Ranorex Spy is the tool that provides the mapping information of the elements to their RanoreXPath expression.Understanding how the Path and object recognition works in Ranorex is a key component of creating robust UI automation tests.

RanoreXPath

  • Helps in locating an object on the Application under Test.  
  • With RanoreXpath you can navigate an element like you are navigating a file.  It maintains a parent child relationship.
  • You can modify and adapt the information available to automate complex dynamic interfaces.
  • It can be used as a query to filter UI elements.
  • It is programmed to define the regular expression on the basis of attributes of the objects that are less likely to change in future so that more robust test cases can be created, like in case of a webpage instead of a URL a domain name appears on the RanoreXPath expression etc.
And much more which is beyond the scope of this article.

  • Support for Image based recognition

Ranorex supports image based recording in addition to the standard object (UI element) based recording, which is a plus. The screen shots using captured using Ranorex image recognition capability can also be added to the log files for better understand-ability.

  • Reusability - soul of the tool

It appears that the tool has been designed keeping in mind the re-usability principle

  • Test case modularization : The related steps of the test code can separated into modules, and these modules can be reused to create new test cases. Also this modularization helps in making the test case more intuitive and understandable. 
  • Separation of test code and test data: The values that are to be used for a particular widget say a text box can also be picked up from a file stored separately. That file can be a csv file, an excel file or a SQL connector.
  • Provision for a test case repository: Ranorex Object Repository can be used to manage GUI objects for recordings or test automation code. The RanoreXPath identification information and test automation can be separated with the help of a repository thereby significantly reducing the time to maintain the tests. The repositories created for a test case can be re-used for writing more test cases on the same AUT.

  • Version control support  

Source versioning system like SVN can be integrated with Ranorex Studio to provide version control support and the associated benefits like making the history of all changes made into the project visible, providing backup functionality and preventing security issues on network shares as the source code can be checked out locally for making changes.

  • Flexibility
    • Since the test cases can be coded in C# or VB .Net the test code can be combined with the application code if the need be. You can directly pick up instances from the test code and link it with the mail support provided by language being used for coding the test case and the intended audience can be informed if the test case is failing at a particular point.
    • With each recorded test case an action table is associated. The test actions can be edited and fine tuned. So, no need of re-recording the same scenario, if something in the test case is missed out.
    • An automated test suite built with Ranorex Studio always results in an EXE file. Use the command line interface to integrate different test suite runs into already existing development environments, eg. Continuous integration processes, test management tools, or simple batch execution scenarios. Through the command line interface it’s easy to quickly parameterize test runs, for example: used to execute the same automated test suite on different operating systems.

A quick comparison with some of the other tools in the same arena:-

  • Some tools support testing of web applications only like Watir and Selenium.
  • Some are quite expensive like HP QuickTestPro and Win Runner. But they have other advantages like  QuickTest Professional supports a wide variety of technologies from the common ones like Win32, Web, Java, .NET and WPF to more obscure Delphi, SAP and Terminal Emulators. There are technologies that are not supported (such as Flash) the portfolio is rather inclusive but the price is rather high.
  • Some have their own scripting languages like Sikuli and Silktest Sikuli
    For working with Sikuli knowledge of Sikuli script is required. It based on a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). It provides UI test automation for Windows, Mac OS X, and Linux. With VNC, you can also test mobile devices.
    SilkTest is also quite popular but knowledge of object based programming called "4test" is required.
  • Quite close to Ranorex is Testing Anywhere it offers four GUI testing technologies under one umbrella. It includes Windows/Web Recorder, GUI Object automation, image based automation and windows integrator and OCR. Other than Automated GUI Testing, Testing Anywhere is a testing tool to automate any type of testing. But it is limited in terms of the technologies supported like - .Net windows forms control, Janus Controls, Silverlight controls, Telerik WPFRad controls, Telerik Silverlight controls, .Net WPF controls, Java Swing AWT controls. Also it is costlier than Ranorex.

Let’s also have a look at the System Requirements for the product

  • Supported Operating Systems: All versions (32 and 64 bit, except those for Itanium-based systems) of the following operating systems are supported by Ranorex - Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008,Windows7
  • Software Prerequisites: The following software are required to run all Ranorex components (Runtime, Spy, Recorder, License Server) - Microsoft Windows Installer 3.1 or higher, Microsoft Visual C++ 9.0 x86, Microsoft Visual C++ 9.0 x64 (required for 64 bit Windows versions only), Microsoft Visual C++ 10.0 x86, Microsoft Visual C++ 10.0 x64 (required for 64 bit Windows versions only), Microsoft .NET Framework 2.0 SP2 or higher. Additionally, for running Ranorex Studio Microsoft .NET Framework 3.5 SP1 or higher is required.
  • Hardware Requirements: The hardware requirements depend on the version of the .NET Framework that needs to be installed for the respective Ranorex package. Ranorex (Runtime, Spy, Recorder, License Server) requires at least the .NET Framework 2.0 to be installed, Ranorex Studio requires the .NET Framework 3.5. Consequently

Licensing and Editions information

  • Ranorex comes in three editions - Runtime, Professional and Premium.
  • All the licenses can be Node Locked or can be Floating.
  • The price for Node Locked licenses varies from  €380 to €1480 and Floating licenses varies from €780 to €3080
  • Maintenance support is provided for all kind of licenses.

Scope of Improvement

  • As of now only one report can be viewed at a time a Dashboard support wherein a few reports can be pulled and viewed at the same time and analyzed would be desirable
  • Support for platforms other than Windows and Mobile platforms would be a plus
  • A TaaS version of the tool would be beneficial for individual testers.
  • It would be good to have a feature like continuation of the test case from the point where it last stopped, in case of a disruption in an ongoing test execution.

·         The Platforms Supported by Ranorex are- Windows 2003 Server, Windows XP, Windows Vista, Windows 2008 Server, Windows 7, Windows 8 Development Preview 

Ritu Saxena

Ritu Saxena

Ritu is the technical brain behind the website and comes from a strong development background across Web and Mobile platforms. She is our senior editor primarily responsible for Product Reviews and in future will be leading Start-Ups, Mobile and Quality areas.

blog comments powered by Disqus