The Ranorex Parallel Runner is a new feature in Ranorex Studio 7.2, it is a command-line tool that allows you to execute Web Tests against Selenium Server/Grid on remote machines, in parallel!

This blog takes you through the set-up and process of using the Ranorex Parallel Runner, to execute our tests, remotely, in parallel.

Requirements:

  • Ranorex 7.2 onwards
  • Minimum of a run-time license for each test you want to run in parallel
  • Selenium grid (on the same network)

Note: For help on setting up Selenium Grid with Ranorex, please refer to: https://www.edgewordstraining.co.uk/2017/04/19/set-selenium-grid-ranorex-web-test-remote-execution/

Step 1 – Set up an Endpoint

To execute our tests remotely, we must first set up our endpoint from within Ranorex. To do this we must first find the IP address of our remote machine. For this blog we are simply performing our tests against a Linux virtual machine running our Selenium Grid.

  • Ensure you have the Selenium Server up and running on the remote machine (endpoint)
  • Find the IP address of the remote machine (Ensure we are on the same network as remote machine)
  • On your host machine, launch Ranorex 7.2
  • Open an existing, or record a simple web test, against Chrome or Firefox

Ranorex Script

  • Now setup an endpoint for your Selenium Grid within Ranorex

My Endpoint

Step 2 – Set up Desired Capabilities

Now we must define a distinct set of capabilities for each run we intend to perform. For this demonstration we are going to simply run against two different browsers, however you can add in various capabilities for each run, such as; Browser name, version, JavaScript enabled etc. A list of the capabilities can be found here: https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities

  • Open a command prompt in Administrator mode on your host machine
  • Navigate to the Ranorex program files folder and open the Bin folder

Parallel Runner location

  • Once you are in the Bin folder of the Ranorex program folder, you can now make use of the Parallel Runner
  • Enter:
Ranorex.ParallelRunner.exe -h
  • This will show the assorted options and commands you can execute using the Parallel Runner
  • Now type:
Ranorex.ParallelRunner.exe -c
  • This will create a capabilities spreadsheet template, in the same location, you are currently in (the Bin folder of the Ranorex program folder)
  • Note: You can also specify a file name and location if you wish, by entering a filename and path after the above command, however by default it will simply name the file CapabilitiesMatrix.xlsx and place it in the Bin folder

Cap Matrix

  • Navigate to the Bin folder in your Windows Explorer and launch the xlsx file that has just been created
  • By default this file is Read-only and has a bunch of capability sets already in place
  • Simply save as a new file, give it a different name, different location and delete all of the capability sets currently in place, leaving just the browser names you wish to execute against

Capabilities Matrix spreadsheet

  • Once you have your capabilities set up, you can close your spreadsheet

Step 3 – Run your test

Once you have setup your Endpoint and Selenium Grid on a remote machine on the same network and also your capability sets, you can now make use of the Ranorex Parallel Runner to execute your tests in parallel against a remote machine

  • In the same command prompt (ensure you are still in the Bin folder of the Ranorex program folder) you can type:
Ranorex.ParallelRunner.exe -h
  • Again, this will show the various options and commands you can execute using the Parallel Runner

Help menu

  • Under Usage, we can see an example of how to use the parallel runner
  • To run your test against your remote machine, type:
Ranorex.ParallelRunner.exe -t <full path to test suite executable> -m <full path to capability spreadsheet> -e <Name of endpoint in Ranorex>
  • The test suite executable will be located in your Ranorex project folder->bin->Debug, the name should be: <Project name>.exe
  • Note: This is in your project folder, not the program folder
  • The Capability spreadsheet is the excel template we filled out earlier
  • The endpoint in Ranorex is simply the name you gave the endpoint within Ranorex
  • Once you have filled this out you can hit enter and watch your tests execute against the remote machine, in parallel

Parallel Runner

  • Once executed, the test results will appear in a folder named “parallelRuns” which will be in the same location as the test suite executable
  • The different runs will be visible as two separate runs in the results although they did essentially run at the same time

Parallel run results

  • The file with the extension; rxlog, will be the report in the standard Ranorex format

Rx Results

  • Note: The browserName used for each test is different, depending on the capability set we provided

 

For more information regarding Ranorex Studio, please see our: