Portability of Test Suites

Ranorex Studio, Spy, Recorder, and Driver.
MikeV
Posts: 37
Joined: Wed Apr 04, 2012 6:01 pm

Portability of Test Suites

Post by MikeV » Tue May 15, 2012 10:05 pm

Using Ranorex 3.2.3.

I'm not sure if this is the right forum for my question. I searched Automation Tools and General for similar topics, but didn't find anything like this. If it's already out there somewhere, I apologize for the duplication.

We are evaluating Ranorex as our automation tool. We have to test our desktop application on computers and VMs that have different screen resolutions, in both 32-bit and 64-bit Windows environments. I have a couple of questions about portability.

I've been using Ranorex Studio to develop a Solution on my XP 32-bit machine with screen resolution 1152x864. Can I provide a working Solution to my colleagues by copying the Solution to a network location, so it can be copied to other computers and VMs?

For example, my solution named "Common" is here: C:\ranorex\RanorexStudio Projects\Common\. I would like to be able to copy that directory to our network, then have my colleague copy it to his Windows 7 64-bit machine with screen resolution of 2560x1440, and have it work on his local computer.

I see 2 potential problems with this:

1. His 64-bits will not like my 32-bit Solution.

2. Our product uses a lot of x,y stuff, and his higher screen resolution won't like things recorded at my lower resolution. Specifically, we have a Qt scroll bar that is only identified as a single object. The down arrow and up arrow on the scroll bar are not identified, because our development team has not had time to make them accessible. (Your Qt plugin is installed and working properly.) My VB code can get the Height of the scroll bar and subtract 8 pixels to know where the down arrow is located, but the Height will be different on my colleague's computer.

If the "Common" solution is copied from my computer to my colleague's computer, he will get the repository that already includes the Height of the scroll bar. When he plays back a recording that tries to click the down arrow (scrollbar.Height - 8 pixels), the click will not be on his down arrow.

How can we deal with these 2 problems?

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA
Contact:

Re: Portability of Test Suites

Post by Support Team » Wed May 16, 2012 5:14 pm

Hi,
MikeV wrote:I see 2 potential problems with this:

1. His 64-bits will not like my 32-bit Solution.

2. Our product uses a lot of x,y stuff, and his higher screen resolution won't like things recorded at my lower resolution. Specifically, we have a Qt scroll bar that is only identified as a single object. The down arrow and up arrow on the scroll bar are not identified, because our development team has not had time to make them accessible. (Your Qt plugin is installed and working properly.) My VB code can get the Height of the scroll bar and subtract 8 pixels to know where the down arrow is located, but the Height will be different on my colleague's computer.
To 1.:
Basically there should not be any problems with executing a 32 bit solution on a 64 bit machine.

To 2.:
You can then specify relative coordinates that are proportional to the heihgt and width of the UI element (e.g. 0.25;0.25 will click at the upper left part of the UI element), which should be the same on both environments.

Regards,
Tobias
Ranorex Team

MikeV
Posts: 37
Joined: Wed Apr 04, 2012 6:01 pm

Re: Portability of Test Suites

Post by MikeV » Thu May 24, 2012 6:09 pm

Thanks, Tobias! I understand how I can implement your solution of using a multiplier to refer to X,Y coordinates. It would be something like this, for example: On some object, click at the location that is .25 to the right and .6 down. To make this work, it looks like I could record the action to get the code that includes hard coded X,Y, then change X and Y to be variables, then feed the variables the .25xObject.Width and .6xObject.Height, using my example.

It would be nice to be able to set Ranorex Studio to do this automatically for me, when I'm recording something. I can't see anywhere in Ranorex Studio where I can do this. I would suggest it as an enhancement that many would find extremely useful. In other words, with this flag turned on, instead of recording a specific X,Y location in pixels, I would get X,Y's that are PercentageOf.Object.Width,PercentageOf.Object.Height, where "PercentageOf" is replaced with the actual percent as a decimal. This code should then work on any screen resolution, without having to manually change it.

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA
Contact:

Re: Portability of Test Suites

Post by Support Team » Fri May 25, 2012 2:50 pm

Hi,

Thank you for this suggestion, I will add it to our internal feature request list and we will discuss internally if we will implement such a feature in one of our future releases.

Regards,
Markus
Ranorex Support Team

MikeV
Posts: 37
Joined: Wed Apr 04, 2012 6:01 pm

Re: Portability of Test Suites

Post by MikeV » Mon Jan 28, 2013 6:09 pm

Thank you, Markus, Ranorex Support, and Ranorex Developers! The Global Setting that allows me to set "Coordinate recording mode" to Proportional or Pixel is awesome! This seems to make our Ranorex Solutions portable from one testing system to another, adjusting for differences in the display format.

User avatar
Support Team
Site Admin
Site Admin
Posts: 12145
Joined: Fri Jul 07, 2006 4:30 pm
Location: Houston, Texas, USA
Contact:

Re: Portability of Test Suites

Post by Support Team » Mon Jan 28, 2013 6:15 pm

You're welcome!
We are glad this proved helpful :)!

Regards,
Markus