Make "Wait for exist" action for Web more robust
At the moment when I click on web element that causes load of a new or reload of an existing page and I want to validate/make use of web elements on that page I need to make sure that those elements exits in DOM. I do that using "Wait for exist [web element]" action. The problem is that "wait for exist" does not always work reliably in that case returning true when web element is not fully load or accessible yet as part of DOM. To work around that I have to precede "wait for exist" action with "Delay" action allowing DOM to load enough so "wait for exist" can reliably work.
Could you please improve "wait for exist" action to be reliably used on Web page load so I do not need to precede it static timeout using Delay?
I will add to this request the chance to wait for element to be clickeable as selenium does. Many times I need to perform a work around to solve this kind of issues when you wait for an item it is visible or exists and Ranorex start working with it and it's still on load process
Marcel Keller commented
I have the same problem and reported it to the Ranorex Support ([CAS-20054-D9Z0Q9]). They confirmed that it is a bug in the Ranorex Plugin.
Pavel Kudrys commented
Have you tried to add InvokeAction >> WaitForDocumentLoaded before the WaitForExists action/method? Simply drag&drop the DOM element to recording of your choice (as a very first action) and then from the appeared menu select InvokeAction >> WaitForDocumentLoaded (with or without timeout). I'm using it rather frequently in my tests and it works quite well with our web apps.