I wonder if open browser activity or attach browser activity will wait for the whole html document to load completely. Because if i put activities in these containers, they will be found even though I set the timeout to 0. And i’m sure the ‘waitforready’ property doesn’t work properly. Look forward official feedback. Thanks!
Open browser does wait for the page to be loaded but there are many websites (mostly organization’s internal ones) that are having the load indicator with page status as loaded. So in thay case we need to use element vanish for that load indicator.
Open application, yes standard one does but again we’ve observed some internal application doesn’t works on this logic and in that case we need to make sure the element that needs to be clicked is ready to be accessed. You can do that using wait for ready as complete or click and wait for the next screen to come, check if thay is coming and if not click again and check the status (be careful about the delay here, observe the system and give the time-out accordingly to avoid delay)
It does work properly, you have applied the wait for ready property to the click or some other activity after opening the browser/window? What is the observation you made on the browser status in that cases? Was the Browser loaded and had all elements ready to be accessed manually? Was the elements shown but not ready to be clicked ( cursor loading symbol)
rahul,
I tested again, it is true that Open Browser will not load document completely.
But it shows ‘selector not found’ when I put click activity in Open Browser container and set wait for ready to complete and timeout to 0. You can check my demo below.
project.json (703 Bytes)
UiAutomation.xaml (7.6 KB)
What document is that? Can you mention the type and whether it is the only thing that loads in that browser?
When you say document didn’t open completely. That means your browser was loaded and that document was loading in the container inside that browser. That are two different stuffs that both have their own wait and load time(document container’s wait time depends on file size)
In this case you can have any selector of that document container to check on whether it is loaded and then perform the action. May be any container tag related to download or something that shows up only after document is loaded.
Open browser has its own header selector and UI element of that browser. Make sure you add a new click activity and have the element to be clicked selected (while the click element is still in the open browser container only) make the timeout 500 ms
Lastly, you may consider this approach as well, if nothing works well.
What I want to know is how WaitForReady works, it seems it didn’t take effect when I set WaitForReady property to complete. And if this property takes effect before Timeout property starts working?
After completely loading the Html Document you will get some static values inside the document right
If yes Just give it a try
- Open the document manually and while loading use Find element and indicate on the screen specific part and enable the text or aaname or something constant attributes in UIExplorer and store in a variable
- Use wait attribute and select the attribute that you enabled in find element
and give the text
It will work link
- It will find the element in and store that selector in the variable
- After it will until it changes from the old attribute value to new one which you have provided
Hope this Helps
Regards
Sudharsan
And don’t forget to pass the uielement variable in the input property of the wait attribute activity
Regards
Sudharsan
I didn’t encounter any problem, just want to figure out how the WaitForReady property works.
Aww okay My bad
keep the timeout blank, do not put 0 in there. that static manually entered value is not allowing the other property to function
The timeout signifies how long the activity should be trying to get the target selector in the desired state.
The WaitForReady will make sure the webpage state is loaded completely, that means the webpage content is loaded completely(this does not mean that if there is a container on that webpage that will also need to be loaded a file/medi/document). you can relate to the blogs that has the webpage and a youtube video inside that same page, in that case the entire webpage(that includes video container only not the entire video) wait & load time and that youtube video’s load and wait time will be different.
Hope this helps!
hi @rahulsharma,
It seems customized timeout value will make WaitForReady work improperly. But the timeout property has default value(30s), why customized value doesn’t work? If it is as design, I think it makes no sense.
I tested again, WaitForReady property still works when setting Timeout to customized value. It’s just we need to set timeout to a proper value that is enough for page loading. otherwise it will be timeout.
@discovery131794
You will edit the project activity setting :
Increase the default time period of waiting.
@discovery131794 Try "On element appear " activity in workflow.