Last year, not only the Web, but also the Windows client appeared in our company. Since we didn’t use the test automation tools we used for the Web (for example,
Selenium ) in this situation, we had to search for automated functional testing technology for Windows applications.
The criteria for our search were as follows:
- The functional test development environment should support both automatic recording of test cases (for use by testers with minimal programming experience) and the ability to write individual parts of tests manually.
- Since the client is being developed in C #, I would also like to write functional tests either in C # or in one of the .NET languages.
- Must have Data-Driven Testing support
- XPath should preferably be used to identify user interface elements.
- The code and all testing artifacts should be stored in the same version control system in which our main code is stored (in our case, Git)
- This automated functional testing technology should be easily integrated into our continuous integration system ( Jenkins ).
After preliminary market research, we stopped at
2 products :
- HP QuickTest Professional , which is one of the most used products on the market, but has an extremely high price.
- Ranorex is a newer product (although I first heard about it in 2007, but then it was still quite raw), but often already mentioned as an alternative in professional forums
During the month I tested both products (HP QTP 11 and Ranorex 4) and now I would like to share my conclusions about the capabilities of Ranorex, comparing it with HP QuickTest Professional, and also consider integrating Ranorex with
Jenkins CI server (but integration with other servers, for example
TeamCity , will look similar).
Ranorex features
Using Ranorex with Continuous Integration System
Unlike HP QTP, Ranorex does not have a system that allows running tests on a schedule or on an external trigger on remote computers. On the one hand, this is a minus, on the other hand, we were able to integrate Ranorex tests with our
Jenkins server without any problems (but any server, for example, the same
TeamCity, will do ):
- Compiling Ranorex tests: On Jenkins, we have a build Build_Ranorex_Tests. As soon as one of the testers makes a push code to our Git repository, one of the Git hooks launches this jab. It consists of two phases: compilation of all solutions (test suites) using MS Build (
/t:Clean,Build /p:Configuration=Release
). At the end of the MS Build phase, all the files needed for testing (namely, EXE (one for each solution), DLL (one for the project), CSV / Excel and others) are archived (step - Archive the artifacts) - Test execution: Next, the following “matrix” job is launched on all test machines (we are testing under Windows XP, Vista and Windows 7) on which Jenkins Slaves are installed. This job first installs the latest version of our application (using MSI), then sequentially launches EXE files of test suites compiled by the previous job (see above). After their execution, we receive one ZIP file per test suite, each of which contains 1 XML file with results and a directory with screenshots
- Presentation of the results: After this, the script (it can be made as a separate small suite in Ranorex, which will be launched last) translates the Ranorex XML format to xUnit format. Thanks to this, for each client we have both a report in Ranorex format and a format that Jenkins understands, so Jenkins can draw a graph of test results. Jenkins also sends by mail to all interested persons test results in Ranorex format.

')
Price
Unfortunately, unlike Selenium, Ranorex is not a free open source product. But comparing the automatic testing system under Windows is necessary not with Selenium, but with the same HP QTP or IBM Rational Functional Tester. In this case, Ranorex ne seems so expensive. 1 license linked to a workplace costs
1 480 euros for a purchase + 290 euros per year (starting from the second) for further updates and support. It is several times cheaper than HP QTP and IBM Rational Functional Tester.
findings
Based on our comparative testing of Ranorex and HP QTP, we chose to use Ranorex in the future. The main advantages for us are: a convenient and understandable development environment, full support for .NET development and C # and VB.NET languages, using XPath to identify elements in the repository, the ability to store tests in our standard versioning system (Git), ease of integration with the CI system (Jenkins).