Parallel Execution ?

Ranorex Studio, Spy, Recorder, and Driver.
Rajendra
Posts: 32
Joined: Wed Sep 28, 2011 1:57 pm

Parallel Execution ?

Post by Rajendra » Tue Nov 19, 2013 4:07 pm

Hi Team,

Does ranorex supports parallel way of execution

For Eg:

I am done with coding part on one machine.
I want to run this code on two different machines (assuming that the running machines have licence) without deploying the code in the remote machines.

Simply, like the GRID execution in Selenium.

Does ranorex supports this kind of execution?

Thanks,
Rajendra

User avatar
odklizec
Ranorex Guru
Ranorex Guru
Posts: 7470
Joined: Mon Aug 13, 2012 9:54 am
Location: Zilina, Slovakia

Re: Parallel Execution ?

Post by odklizec » Tue Nov 19, 2013 6:05 pm

Hi Rejandra,

I believe the "easiest" way to achieve your goal is to use a continuous integration tool with some slave machines? See these blogs about integrating Ranorex with major CI solutions http://www.ranorex.com/blog/integration

In my company, we are using Jenkins with some slave VM machines and it works quite well. Basically, we are developing on several VMs. Once a changed code is committed to SVN, Jenkins triggers commit and builds and runs new version at the same time on dedicated slave machines. The Jenkins setup is quite tricky but then it's very easy to use and very...very useful! We are using this solution for about 6 months and during this time, it saved us a lot of time and nerves.
Pavel Kudrys
Ranorex explorer at Descartes Systems

Please add these details to your questions:
  • Ranorex Snapshot. Learn how to create one >here<
  • Ranorex xPath of problematic element(s)
  • Ranorex version
  • OS version
  • HW configuration

RomanL
Posts: 2
Joined: Mon Dec 01, 2014 4:00 pm

Re: Parallel Execution ?

Post by RomanL » Mon Dec 01, 2014 4:10 pm

odklizec wrote:Hi Rejandra,

I believe the "easiest" way to achieve your goal is to use a continuous integration tool with some slave machines? See these blogs about integrating Ranorex with major CI solutions...
Hi Pavel,

How do you organize automation scripts auto-balance (distribution) among all slave machines?
For example: if you have 100 Ranorex automation scripts (AS) and you need to distribute them among 10 virtual machines. Since each AS has different number of steps you can not just create 10 jobs at CI and assign 10 AS for each job, because execution time will be difference.

krstcs
Posts: 2683
Joined: Tue Feb 07, 2012 4:14 pm
Location: Austin, Texas, USA

Re: Parallel Execution ?

Post by krstcs » Mon Dec 01, 2014 4:51 pm

How to accomplish what you are wanting depends greatly on what CI system you are using, and even then there are multiple ways to accomplish it in most systems.

I use Jenkins and each test has it's own job. Jenkins runs each of my tests on every configuration at the same time, so I have 4 Windows 7 VMs that have IE 8, 9, 10 or 11 plus Chrome and FF. My tests for Login, for example, runs 6 times, and Jenkins determines which test to run and on what systems based on how I have the job configured.

But, for you, if you used Jenkins, you could just kick off all of the jobs from a master job and tell the master job to run the child jobs in parallel (in Jenkins you turn OFF the "Run tests serially" option, I believe). Jenkins will run 10, then as each one finishes, it will run another on that host.
Shortcuts usually aren't...

RomanL
Posts: 2
Joined: Mon Dec 01, 2014 4:00 pm

Re: Parallel Execution ?

Post by RomanL » Tue Dec 02, 2014 10:51 am

krstcs wrote: I use Jenkins and each test has it's own job. Jenkins runs each of my tests on every configuration at the same time, so I have 4 Windows 7 VMs that have IE 8, 9, 10 or 11 plus Chrome and FF. My tests for Login, for example, runs 6 times, and Jenkins determines which test to run and on what systems based on how I have the job configured.
Thank you for a quick reply. If I understand you correctly you define set of tests (at Jenkins's job) and execute them in parallel at 7 VMs since you need test the same functionality under different browsers.
I have other task. I have 1000 tests and want to speed up execution, therefore I want to execute them in parallel at 10 VM (100 tests per VM). I need some tool that automatically divide all tests on 10 sets. I know that I can do that manually but I have 2 problems:
1. I need to "balance" all tests (since each test has different number of steps and execution time) that each set of tests complete execution approximately at the same time.
2. I need to run periodically different set of tests (sometime 1000, sometime 500). That'd but hard to change the jobs each time.