Page 1 of 1

item discovery conditional of window maximize state?

Posted: Thu Feb 17, 2011 6:06 am
by geremyr
I'm having an issue with item recognition based on whether the application under test is maximized or not. Put simply, if the application window is maximized when the recording is created, the item recorded will only be found if the window is maximized prior to runtime (and vice-versa).
Item 'FormSTREAMS_Explorer.ContainerContentPanel1.TreeItemField_Processors' was not found within the specified timeout of 10s.
Strangely, the item is accurately 'highlighted' from the repository regardless of the window's maximized state.

Snapshot attached.

Windows Vista Business SP1
Ranorex (evaluation) version 2.3.8.10854

Re: item discovery conditional of window maximize state?

Posted: Thu Feb 17, 2011 12:53 pm
by Support Team
Hi,

do you work with relative or absolute coordinates?
What exactly do you want to automate?
Can you provide us your recording?

Thanks.

Kind regards,
Tobias
Support Team

Re: item discovery conditional of window maximize state?

Posted: Thu Feb 17, 2011 11:24 pm
by geremyr
I've reduced the recording to only one step as a means of identifying this problem. The coordinates are relative - set to 'center'. Right now, I'm attempting a simple verification that when an item in the left pane is selected, the main content pane is updated accordingly (i.e. a left mouse click on the item 'TreeItemField_Processors'). This is so strange, as I'm not experiencing this problem with other elements of our application. I should reiterate that the repository accurately highlights this item regardless of window size; there seems to be a discrepancy at runtime.

Thanks for your time.
Geremy

Re: item discovery conditional of window maximize state?

Posted: Fri Feb 18, 2011 2:16 pm
by Support Team
geremyr wrote:I should reiterate that the repository accurately highlights this item regardless of window size
Please, keep us posted about your findings.

Regards,
Alex
Ranorex Team

Re: item discovery conditional of window maximize state?

Posted: Mon Feb 21, 2011 12:58 am
by geremyr
The problem still occurs during execution/playback. Any suggestions?

Re: item discovery conditional of window maximize state?

Posted: Mon Feb 21, 2011 8:25 pm
by Support Team
Could you please post the RanoreXPath for the problematic repository items? Even better, please, post the repository and the recording that fail. Then we can have a look at it and hopefully support you better :)
Thank you!

Regards,
Alex
Ranorex Team

Re: item discovery conditional of window maximize state?

Posted: Tue Feb 22, 2011 5:01 am
by geremyr
So I found a way to make the recording work. The problem seems related to the repository - in the case where it doesn't work, I created a large repository by choosing the top level item (streams explorer) and adding it with children. In the case where it does work, I created a very small repository by choosing only the element that I'm interested in (TreeItemField_Processors1), and adding it.

The resulting repository in both cases is a rather different path to the end element (which is the same), and seems to be the difference between this step finding the element or not based on the size of the window.

The recording that doesn't work:

Code: Select all

			Mouse.DefaultMoveTime = 300;
			Keyboard.DefaultKeyPressTime = 100;
			Delay.SpeedFactor = 1.0;

			Report.Info("Mouse Left Click item 'FormSTREAMS_Explorer.ContainerContentPanel1.TreeItemField_Processors' at Center.");
			repo.FormSTREAMS_Explorer.ContainerContentPanel1.TreeItemField_Processors.Click();
			Delay.Milliseconds(2880);
The repository paths

FormSTREAMS_Explorer:

Code: Select all

/form[@controlname='MainForm' and @title='STREAMS Explorer']
ContainerContentPanel1:

Code: Select all

container/container[@controlname='contentPanel']
TreeItemField_Processors:

Code: Select all

container/container/container[@caption='' and @controltypename='SplitterPanel' and @instance='0']/container/container[@caption='' and @controltypename='SplitterPanel' and @instance='0']/container[@controlname='PanelContainer']/container/container/container[@controlname='pnlContent']/container/tree/treeitem[@accessiblename='Field Processors']
The recording that works:

Code: Select all

			Mouse.DefaultMoveTime = 300;
			Keyboard.DefaultKeyPressTime = 100;
			Delay.SpeedFactor = 1.0;

			Report.Info("Mouse Left Click item 'FormSTREAMS_Explorer.TreeItemField_Processors1' at Center.");
			repo.FormSTREAMS_Explorer.TreeItemField_Processors1.Click();
			Delay.Milliseconds(700);
The repository paths

FormSTREAMS_Explorer:

Code: Select all

/form[@title='STREAMS Explorer']
TreeItemField_Processors1:

Code: Select all

container/container[@controlname='contentPanel']/container/container/container[@caption='' and @controltypename='SplitterPanel' and @instance='0']/container/container[@caption='' and @controltypename='SplitterPanel' and @instance='0']/container[@controlname='PanelContainer']/container/container/container[@controlname='pnlContent']/container/tree/tree/treeitem[@accessiblename='Field Processors']

Re: item discovery conditional of window maximize state?

Posted: Tue Feb 22, 2011 8:16 pm
by Support Team
Hello Geremy,

I can see two things that could be the reason:
- @controlname='MainForm'
- folder caching

Could you help us a little further to unriddle the problem by doing the changes stepwise:

1. removing @controlname='MainForm' in the first version.
2. remove the folder
2a. you could also try to turn off folder caching in settings / repository defaults

regards,
Roland
Ranorex Support Team

Re: item discovery conditional of window maximize state?

Posted: Wed Feb 23, 2011 12:24 am
by geremyr
Thanks for the suggestions... I can make this work by reworking the repository, but that's undesirable.

In both cases above the path to the element is ultimately the same, albeit with less sub paths in the working scenario. If you do see a problem with the repository structure, should it be corrected in the way repositories are generated (or interpreted)? The only difference between the two repositories from my point of view is the amount of items I added to each one (created both in Ranorex Spy).

I'll try to find a way to make this work; perhaps I'll add some code to maximise the window before testing. Thanks for your support.

Re: item discovery conditional of window maximize state?

Posted: Wed Feb 23, 2011 9:44 pm
by Support Team
Please also have a look at this forum entry

Regards,
Roland
Ranorex Support Team