Hi,
I have a problem on clicking the object as it is under a fixed header. Some times, when I scroll after clicking on one object, the next object is going under a fixed header. Spy is recognizing the object but not able to click on that one as it is under a fixed header. Is there any way that we can move the element to down side below the fixed header so that we can click on the object. Attached snapshot for reference. Immediate help is appreciated.
Thanks
Vivek
Not able to click on object as it is under fixed header
-
- Posts: 31
- Joined: Mon Feb 22, 2016 7:21 pm
Not able to click on object as it is under fixed header
You do not have the required permissions to view the files attached to this post.
Re: Not able to click on object as it is under fixed header
Hi,
Usually, I would suggest to try EnsureVisible, which should bring the element in question to the visible area of screen. But this will most probably not help in this particular case, because the problematic element is actually set as 'visible' Another thing you should try is to hide the header before clicking items. Is there a way to hide the header?
If the header cannot be hidden, then the only reasonable thing you can do is to use PerformClick method instead of mouse Click. The difference between these two actions is that the PerformClick invokes click action on given element without using mouse. However, it's recommended to use this method only if there is really no way to use Mouse click, because it's not exactly 'user-invoked' action and it may not invoke some behind-the-scene events (like 'on mouse click'). So you should be really careful about using this method!
Anyway, I think your problem is caused by a bad design of the app under test. The header should not cover clickable elements and if it does, the elements under header should be set as invisible and there should be a way to make them accessible (i.e. scroll them to view). Looking at the snapshot, it seems that if the header is visible, there are always some 'covered' items, which cannot be mouse-clicked? And this is definitely wrong GUI design or implementation.
Usually, I would suggest to try EnsureVisible, which should bring the element in question to the visible area of screen. But this will most probably not help in this particular case, because the problematic element is actually set as 'visible' Another thing you should try is to hide the header before clicking items. Is there a way to hide the header?
If the header cannot be hidden, then the only reasonable thing you can do is to use PerformClick method instead of mouse Click. The difference between these two actions is that the PerformClick invokes click action on given element without using mouse. However, it's recommended to use this method only if there is really no way to use Mouse click, because it's not exactly 'user-invoked' action and it may not invoke some behind-the-scene events (like 'on mouse click'). So you should be really careful about using this method!
Anyway, I think your problem is caused by a bad design of the app under test. The header should not cover clickable elements and if it does, the elements under header should be set as invisible and there should be a way to make them accessible (i.e. scroll them to view). Looking at the snapshot, it seems that if the header is visible, there are always some 'covered' items, which cannot be mouse-clicked? And this is definitely wrong GUI design or implementation.
Pavel Kudrys
Ranorex explorer at Descartes Systems
Please add these details to your questions:
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
Re: Not able to click on object as it is under fixed header
I have this exact same problem with a Website developed using Metronic (Keenthemes).
The header is "fixed" in the .css and it causes all sorts of issues for Ranorex when trying to click elements.
The problem for me more often than not is that even though the element to be clicked is in view right in front of you, the Click() often scrolls before actually clicking. This pushes the element under the header and thus out of reach.
Until now I have had to set Adapter.DefaultUseEnsureVisible = false; and then back to true again afterwards, but now as the number of tests has increased the data in the system this "solution" is unsustainable.
I am now going to get Dev to alter the .css but the apparent random need for scroll prior to Click() by Ranorex is an issue....
The header is "fixed" in the .css and it causes all sorts of issues for Ranorex when trying to click elements.
The problem for me more often than not is that even though the element to be clicked is in view right in front of you, the Click() often scrolls before actually clicking. This pushes the element under the header and thus out of reach.
Until now I have had to set Adapter.DefaultUseEnsureVisible = false; and then back to true again afterwards, but now as the number of tests has increased the data in the system this "solution" is unsustainable.
I am now going to get Dev to alter the .css but the apparent random need for scroll prior to Click() by Ranorex is an issue....
Re: Not able to click on object as it is under fixed header
Hi all,
Could you try if a PerformClick works on these elements?
Therefore, just add a new Invoke-action and choose PerformClick() in the dropdown.
Hope this helps.
Kind regards,
asdf
Could you try if a PerformClick works on these elements?
Therefore, just add a new Invoke-action and choose PerformClick() in the dropdown.
Hope this helps.
Kind regards,
asdf
Re: Not able to click on object as it is under fixed header
As Pavel states above it is not really mimicking correct user actions to use PerformClick();
For me this is actually a bug in Ranorex rather than any discrepancy in the development.
Ranorex seems to scroll the interface when it doesn't need to during Click(); operations....simple. The usedefaultensurevisible setting is on the face of it "too clever".
I have countless examples of where an element is visible, right in the middle of the screen and all Ranorex needs to do is move the mouse and click yet the interface scrolls about just prior to the click, moving the position of the element unnessarily.
Note: I am using Ranorex 5.03.
For me this is actually a bug in Ranorex rather than any discrepancy in the development.
Ranorex seems to scroll the interface when it doesn't need to during Click(); operations....simple. The usedefaultensurevisible setting is on the face of it "too clever".
I have countless examples of where an element is visible, right in the middle of the screen and all Ranorex needs to do is move the mouse and click yet the interface scrolls about just prior to the click, moving the position of the element unnessarily.
Note: I am using Ranorex 5.03.
Re: Not able to click on object as it is under fixed header
First and foremost, the last version of Ranorex 5 was 5.4.6. The currently supported versions are 6.0.2 and 6.1.0. Please updated to a supported version (or at least 5.4.6) as many improvements and bug fixes have been made.
Also, note how the version number is formatted, there is no 5.03, but there is a 5.0.3 and a 5.3.0. Without the correct and full version number it is hard to know exactly which version you are using and, therefore, which bugs you might be encountering and which ones are fixed in later versions.
Finally, this is not purely a Ranorex issue. There are certain limitations that Ranorex must work within. Some of these are OS-related, some are AUT-related. Sometimes there's just nothing Ranorex can do. In this case however, there WERE issues with how EnsureVisible worked in some early versions of 5.X, but, as noted above, they have been fixed to a great degree by later versions. So, again, please update before bringing up issues, otherwise much of our help may not actually do any good because it may not be applicable to older versions.
Also, note how the version number is formatted, there is no 5.03, but there is a 5.0.3 and a 5.3.0. Without the correct and full version number it is hard to know exactly which version you are using and, therefore, which bugs you might be encountering and which ones are fixed in later versions.
Finally, this is not purely a Ranorex issue. There are certain limitations that Ranorex must work within. Some of these are OS-related, some are AUT-related. Sometimes there's just nothing Ranorex can do. In this case however, there WERE issues with how EnsureVisible worked in some early versions of 5.X, but, as noted above, they have been fixed to a great degree by later versions. So, again, please update before bringing up issues, otherwise much of our help may not actually do any good because it may not be applicable to older versions.
Shortcuts usually aren't...
Re: Not able to click on object as it is under fixed header
krstcs,
Apologies for my formatting error: 5.0.3.18203 is the version I meant to write and I appreciate that it is quite old. And thank you for your somewhat short reply.
If there are updates to this functionality that will ease my pain, then I'm very keen to hear about them.
Apologies for my formatting error: 5.0.3.18203 is the version I meant to write and I appreciate that it is quite old. And thank you for your somewhat short reply.
If there are updates to this functionality that will ease my pain, then I'm very keen to hear about them.
Re: Not able to click on object as it is under fixed header
My suggestion would be to update to 6.0.2 or 6.1.0 and see if it fixes the issue. Other than that, we are not going to be much help.
NOTE: Ranorex 6.X will update the project files to a format that is no longer supported by previous Ranorex versions (5.4.6 or earlier), so make sure that you are using a software version control system (you should be doing this already anyway!!), or make a backup copy of the project first.
NOTE: Ranorex 6.X will update the project files to a format that is no longer supported by previous Ranorex versions (5.4.6 or earlier), so make sure that you are using a software version control system (you should be doing this already anyway!!), or make a backup copy of the project first.
Shortcuts usually aren't...
Re: Not able to click on object as it is under fixed header
Hi,
I started using Ranorex back in version 2 or 3 (can't remember anymore), and this 'problem' with fixed DIV 'headers' on web-pages was always causing me problems. I bit the bullet a long time ago and wrote my own code to 'make my items visible' by checking its top and bottom values and doing the math to calculate the area of visibility, and scrolling it into view myself. This allowed me to use click(). This code ended up being reusable (after modifications) for other places, specifically in our custom tables, which also had column headers that were fixed divs, and the scrollbars within the tables often overlapped the visible area too. (Note that different browsers handled this differently too, so I had to add logic for this as well).
I wish there was some way Ranorex could figure out the actual visible area that we see with our eyes, and do this for us. But so far, they have not to my knowledge. I brought this up years ago....
http://www.ranorex.com/forum/prevent-sc ... t2555.html
Since I have my own way of dealing with this, I never bothered to check if it has been changed in newer versions (but I doubt it). If you have the time and the skill, I'd suggest you look into doing this yourself.
Aracknid.
I started using Ranorex back in version 2 or 3 (can't remember anymore), and this 'problem' with fixed DIV 'headers' on web-pages was always causing me problems. I bit the bullet a long time ago and wrote my own code to 'make my items visible' by checking its top and bottom values and doing the math to calculate the area of visibility, and scrolling it into view myself. This allowed me to use click(). This code ended up being reusable (after modifications) for other places, specifically in our custom tables, which also had column headers that were fixed divs, and the scrollbars within the tables often overlapped the visible area too. (Note that different browsers handled this differently too, so I had to add logic for this as well).
I wish there was some way Ranorex could figure out the actual visible area that we see with our eyes, and do this for us. But so far, they have not to my knowledge. I brought this up years ago....
http://www.ranorex.com/forum/prevent-sc ... t2555.html
Since I have my own way of dealing with this, I never bothered to check if it has been changed in newer versions (but I doubt it). If you have the time and the skill, I'd suggest you look into doing this yourself.
Aracknid.
Re: Not able to click on object as it is under fixed header
I have the same problem, i'm using Ranorex version 7.2.1.
I've tried adding the PerformClick() invoke action trough the userinterface but it won't let me choose it. I've then chosen EnsureVisible() and changed it manually to PerformClick(), however , the log said it clicked on it, but it did nothing...
I've tried adding the PerformClick() invoke action trough the userinterface but it won't let me choose it. I've then chosen EnsureVisible() and changed it manually to PerformClick(), however , the log said it clicked on it, but it did nothing...
Re: Not able to click on object as it is under fixed header
I have the same issue and I think the only thing you can do here is to scroll every time the navigation bar is blocking an element. The other option would be to create a new test environment where you disable this fixed header.