"Abbreviate Item Path" removed in 4.1.0

Ask general questions here.
User avatar
IanF
Posts: 60
Joined: Thu May 24, 2012 12:37 am
Location: Brisbane, Australia
Contact:

"Abbreviate Item Path" removed in 4.1.0

Post by IanF » Mon Aug 12, 2013 9:58 pm

So when is the first patch due for 4.1.0?

No more right click Abreviate path in OR or Spy? Did you guys mean to remove this?

Jump To in Reports not working?
Ian Fraser

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: 4.1.0

Post by Support Team » Tue Aug 13, 2013 10:29 am

IanF wrote:So when is the first patch due for 4.1.0?
As usual, we will release a maintenance release every 1-2 months.
IanF wrote:No more right click Abreviate path in OR or Spy? Did you guys mean to remove this?
Yes, that action was removed on purpose for two reasons: Firstly, it often caused RanoreXPaths to get non-unique, since it just removed all the path information without checking for uniqueness. Secondly, the new RanoreXPath generation algorithm introduced with 4.1.0 should by default generate a path that is a good tradeoff between robustness, speed, and uniqueness.
IanF wrote:Jump To in Reports not working?
Currently, we do not know of a (new) issue in 4.1.0 and I wasn't able to reproduce one on a quick test. Can you further specify what does not work? Thank you!

Regards,
Alex
Ranorex Team
.
Image

User avatar
IanF
Posts: 60
Joined: Thu May 24, 2012 12:37 am
Location: Brisbane, Australia
Contact:

Re: 4.1.0

Post by IanF » Tue Aug 13, 2013 10:49 pm

Abreviate path: I was able to to this to multiple objects now I have to edits paths one at a time this is a huge step backwards in functionality. Please put it back...

JUMP TO: Run a test from the Report try and Jump back to the code. Doesn't work
Ian Fraser

User avatar
IanF
Posts: 60
Joined: Thu May 24, 2012 12:37 am
Location: Brisbane, Australia
Contact:

Re: 4.1.0

Post by IanF » Wed Aug 14, 2013 12:07 am

More on this Jump to item issue from the Report.

I installed 4.1.0 on another test machine the jump to item works on that machine.

I then uninstalled 4.1.0 on the machine having the issue and re-installed running as Admin. Jump to item still wont work? however Jump to Test case will work?
Ian Fraser

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

Re: 4.1.0

Post by krstcs » Wed Aug 14, 2013 2:39 pm

Ian,

Perhaps a better way to handle XPaths would be to use rooted folders as they are designed to allow you to manage parent paths more easily.


The fact that the old abbreviation method caused conflicting paths was a much larger problem than you might realize. It would cause tests to fail with no discernible reason.

XPaths must be as precises as possible in order to make object identification timely and reliable.
Shortcuts usually aren't...

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: 4.1.0

Post by Support Team » Wed Aug 14, 2013 4:33 pm

Ad abbreviate item path:
IanF, with Ranorex 4.1 you should get RanoreXPaths that already use the "//" operator. Can you give us some examples where you would still need the abbreviate path functionality? E.g. in the form "I got this RanoreXPath but want it to be like that".
Maybe we can tune the automatic path generation so the abbreviate path functionality is no longer needed at all?

Ad Jump to Item:
There is one issue we know of and that will be fixed with 4.1.1: If you first jump to a normal recording action, then jumping to a user code action may fail in some circumstances (wrong data was cached).
Could that be the issue you experience?

Regards,
Alex
Ranorex Team
.
Image

User avatar
IanF
Posts: 60
Joined: Thu May 24, 2012 12:37 am
Location: Brisbane, Australia
Contact:

Re: 4.1.0

Post by IanF » Wed Aug 14, 2013 9:51 pm

Below is the Raw Xpath of an object

.//div[#'silverlightControlHost']/?/?/form[@name='Silverlight Control']/?/?/tabpage[@automationid='TabLicences']

What I use

.//tabpage[@automationid='TabLicences']

I use to be able to multi select objects and abriviate the path to come up with a path that worked. Now I have to edit every new object one at a time. This is a huge waste of time for me now. Put back the abbreviate option I can't be the only user unhappy about this.

Jump to

I don't record tests first I develop the OR (which is why abbreviate path is important) then I include those objects in tests. The tests do contain a fair bit of user code.

My Machine is the only one with this issue 2 other PC's work fine.
Ian Fraser

User avatar
IanF
Posts: 60
Joined: Thu May 24, 2012 12:37 am
Location: Brisbane, Australia
Contact:

Re: 4.1.0

Post by IanF » Wed Aug 14, 2013 10:04 pm

krstcs wrote:Ian,

Perhaps a better way to handle XPaths would be to use rooted folders as they are designed to allow you to manage parent paths more easily.


The fact that the old abbreviation method caused conflicting paths was a much larger problem than you might realize. It would cause tests to fail with no discernible reason.

XPaths must be as precises as possible in order to make object identification timely and reliable.
We use folders we have our OR building process sorted being able to BULK Abbreviate paths was a huge part of our process. So now if I add 50 new objects I have to fix their path one at a time which is a huge pain. Clearly Ranorex didn't fully consider this change.

I am working on a new App that is constantly getting new functionality this one stupid change will slow down our automation development.
Ian Fraser

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: 4.1.0

Post by Support Team » Wed Aug 21, 2013 10:34 am

I'm sorry for the late response, I had to talk to the respective developer - it''s holiday time :D
IanF wrote:Now I have to edit every new object one at a time. This is a huge waste of time for me now.
You can configure the path generation algorithm to automatically create a path that is similar to what you got with the "Abbreviate item path" function. The major improvement with the automatic generation is that it checks whether the correct element is found by the "abbreviated" path and extends the RanoreXPath if necessary.

CAUTION: Changing the RanoreXPath generation configuration in the following way may have a negative effect on the performance for path generation and element search!

In order to make the automatically generated RanoreXPath as short as possible, open the "Advanced" tab in the Ranorex settings. Make sure "StepCostRecude" is selected as the RanoreXPath generation mode and then click on "Edit Path Build Options...". In the opening dialog change the "Quantile Threshold" to zero (0).
Additionally, for Silverlight elements, you might also need to uncheck the "Enable search by unique ID" option in the "General" tab of the settings.
IanF wrote:We use folders we have our OR building process sorted being able to BULK Abbreviate paths was a huge part of our process.
I hope that the automatic RanoreXPath generation should now save you the time to do the bulk change at all.

Regards,
Alex
Ranorex Team
.
Image

User avatar
IanF
Posts: 60
Joined: Thu May 24, 2012 12:37 am
Location: Brisbane, Australia
Contact:

Re: 4.1.0

Post by IanF » Thu Aug 22, 2013 1:02 am

I set up Spy as recomended.

XPath Produced for a text field.

?/?/tabpage[@automationid='tabLFD']/?/?/listitem[@name~'^BSA\.Build\.UI\.Silverlight\.ViewM']/text[@automationid='CaseNumber']

I can get from One to Lots of these fields with a Abbreiviate Path I could bulk select these and set a path like this.

.//text[@automationid='CaseNumber']

This all I need to be able to indentify the object This makes the OR file easy to read and update.

So if I get 50 objects like this (below) on a new page I need to manually edit each one how can you consider this an improvement in productivity. Or do send all my OR files to you to fix since you caused the problem? That would certainly save me some time!

?/?/tabpage[@automationid='tabLFD']/?/?/listitem[@name~'^BSA\.Build\.UI\.Silverlight\.ViewM']/text[@automationid='CaseNumber']

This is how a manual edit looks

?/?/?/?/?/?/text[@automationid='CurrentStatus']

Seriously

.//text[@automationid='CurrentStatus']

This looks better and it works.

This current OR functionality is a half done stuff up!
Ian Fraser

User avatar
Support Team
Site Admin
Site Admin
Posts: 11709
Joined: Fri Jul 07, 2006 4:30 pm
Location: Graz, Austria

Re: 4.1.0

Post by Support Team » Thu Aug 22, 2013 9:08 am

IanF wrote:I set up Spy as recomended.
Are you sure? The RanoreXPaths you posted in your latest post seem to be completely the same as before...
Please, make sure you set the "Quantile Threshold" to zero.
IanF wrote:I can get from One to Lots of these fields with a Abbreiviate Path I could bulk select these and set a path like this.
.//text[@automationid='CaseNumber']
If you configure the RanoreXPath generation like I explained in my previous post, you should get exactly that path right away on tracking/recording without the need to manually edit it afterwards.
IanF wrote:.//text[@automationid='CurrentStatus']
This looks better and it works.
This current OR functionality is a half done stuff up!
I agree, that RanoreXPath looks nice. However, it can be very slow and if generated using the "Abbreviate Path" functionality, it might get you the wrong element if the 'automationid' is not unique in your application.

Please understand that we are not trying to slow you down, but make Ranorex easier to use. It is great if the "Abbreviate Path" functionality worked for you, but it definitely caused problems for other users.

Right now, we are trying to find out - with your help - if we need to put that functionality back in or if configuring the RanoreXPath automation algorithm turns out to do the same for you.

Regards,
Alex
Ranorex Team
.
Image

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

Re: 4.1.0

Post by odklizec » Thu Aug 22, 2013 11:00 am

Hi Alex,

I just attended a part of Ranorex webinar and the presenter manually updated the paths in his repository in exactly the same fashion as the "Abbreviate Path" would do it. The only difference was that in 4.1 he had to edit the paths manually (by deleting the /?/?/ parts of paths and replacing them with .//) instead of using the "Abbreviate Path" action. So even with new optimized generation of RXpaths, it may still be useful to have this feature back? Maybe just for advanced users, who know the danger of using this feature but who still prefer to use it in their tests? What about making this option explicitly disabled somewhere in RX settings and users who want to use it would have to enable it?
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

Alena
Posts: 20
Joined: Fri Feb 22, 2013 7:50 pm

Re: 4.1.0

Post by Alena » Thu Aug 22, 2013 3:16 pm

Adding +1 for odklizec's suggestion. Especially the last phrase (creating an option in Rx settings) +10.

User avatar
IanF
Posts: 60
Joined: Thu May 24, 2012 12:37 am
Location: Brisbane, Australia
Contact:

Re: 4.1.0

Post by IanF » Thu Aug 22, 2013 9:59 pm

.//text[@automationid='CurrentStatus']

Using XPath like this requires that the objects above are defined correctly. I made sure that my XPaths were right so that I could use Abbreviate path without problems.

All you have done here is cater for users who don't have the skills required to use your tool.

I will go over the settings again and post some more XPath

Some time later......

I went over the settings again (got it right this time)

.//picture[@automationid='PartnershipIcon']

This is a generated XPath based on those settings.

Moving on how hard would it be to provide basic settings for things like Silverlight or HTML or GUI apps would certainly make stuff easier to deal with.
Ian Fraser

User avatar
HD_Jim
Posts: 4
Joined: Fri Aug 23, 2013 1:26 am

Re: 4.1.0

Post by HD_Jim » Fri Aug 23, 2013 1:38 am

Hey Ian,

Interesting topic. I have often clicked on the abbreviate path and wondered who used it, currently we have ( as of today ) 52,376 objects for our Microsoft AX project and a few hundred tests. AX is huge! And it reuses a lot of the root elements, when I abbreviate paths a 4 minute test blows right out as AX has to navigate the paths to find the correct object. When I use verbose paths it can be half the time to execute.

I think it relates heavily on the size of the application and how it is built. We estimate that by the time the test team has finished we will have a repository (obviously not a single repository) of about 100,000 objects and about 1800 tests. So for us, the heirachy and verbose rxpaths are really handy. I know everyone - before you go off about the size of repositories etc, we have experimented and trialled it, and this works in our instance - very well! Maintenance is very low, and easy!

As the saying goes - different stroked for different folks. The tool has many different ways of doing things and I certainly don't think any is better than the other - I certainly don't think because I do it my way - I don't understand how to use the tool, and I don't think because you do it your way that you know it better or less than I do. Just different!

Have fun!

Jim
Jim Donovan
Test Automation Manager

Sime Darby Industrial