Waiting for UI Elements - Repository Timeouts

You might have recognized that the dialog showing up after clicking the 'Save' button takes a few seconds to appear. This depends on the number of VIPs listed in the table. To handle a scenario like that, you can set a timeout value for each item and folder of a repository. Use the context menu item 'Properties' to open the properties for the application folder which represents the save dialog.

Open properties of 'SaveDialog' application folder
Open properties of 'SaveDialog' application folder
Set 'Search Timeout' to 10ms in order to fore a timout error
Set 'Search Timeout' to 10ms in order to force a timout error
Set the dialog's search timeout to 10 milliseconds in order to force an error when executing the test case again. 
Test case execution failed - 'SaveDialog' was not found within the specified timeout of 10ms
Test case execution failed - 'SaveDialog' was not found within the specified timeout of 10ms

After reducing the timeout the test case execution fails. The error message shown in the picture above logs that the 'SaveDialog' repository item was not found within the specified timeout.

Waiting for a Particular UI Element State - Event Handling

You can also use the timeout approach to wait for text states e.g. changing text values. Open the 'Connection' test case part of the VIPTestSuite project example. During the test the application first disconnects and then connects again. The last action of the recording module 'Connect' used within the test case validates the status text shown in the application's status bar. It takes some time to connect the application and finally to show the 'Online' text value in the status text. For this reason the validation action refers to a repository item which uses a timeout to wait for the RanoreXPath

Waiting 5 secodns for status text showing 'Online'
Waiting 5 seconds for status text showing 'Online'

Note: To wait for element states it is necessary to use the attributes within RanoreXPath. For example to wait for a disabled button the RanoreXPath has to include [... @Enabled='False' ...].

Learn more about how to check for existance or to wait for UI element states in code here: Using Repository in Code