I am really battling to sync objects on our new Java Seam application.
All objects are ALWAYS visible, Exist, Present. I have tried the following:
Wait(x) - takes too long too many waits slow script down
WaitProperty "visible",True,1000 - Always visible even though I cannot see it
WaitProperty "present",True,1000 - always present even though i cannot see it
Do While Browser("Object").Page("Object").Object.readyState <> "complete"
Loop - Only works some of the time not always
Browser("Object").Page("Object").Object.Exist(1) - Always exists so is always true
Is there any other way i can sync with objects that are always preseent even though i cannot see then on the screen, this is becoming a real pain because the scripts are slowed down by all the wait properties we have to use.
It seems that they are harboured in the framework but QTP cannot work out if they are actually usable or not.
When we select options on the screen it refreshes the form on the page and will either add more options or remove options necessary to scenario.(Pic1)
The fact is that the browser/ Page properties do not change as the process is taking place in the background. And the QTP script tries to continue capturing information while the next options are "loading". The form even allows QTP to populate fields in the background (Because they are still visible- somehow)
I need a wait property so that i can wait for the "Loading"(Pic2) pop up to go away before continuing to run, without wasting time as i need my scripts to run more efficiently.
At this point we can only use wait(x) property to wait for an estimated amount of time before continuing, as you can imagine this slows my entire process down. as we interact with about 20 different forms as depicted.