There are multiple activities that can be used to automate apps or web-apps and you can find them in the Activities panel, under the UI Automation category.
All of these activities have multiple properties in common:
- ContinueOnError – specifies if the automation should continue, even if the activity throws an error. This field only supports boolean values (True, False). The default value in this field is False. As a result, if this field is blank and an error is thrown, the execution of the project stops. If the value is set to True, the execution of the project continues regardless of any error.
If the ContinueOnError field of an activity inside a Try Catch is set to True, no error is caught when the project is executed.
- DelayAfter – adds a pause after the activity, in milliseconds.
- DelayBefore – adds a pause before the activity, in milliseconds.
- TimeoutMS – specifies the amount of time (in milliseconds) to wait for a specified element to be found before an error is thrown. The default value is 30000 milliseconds (30 seconds).
- WaitForReady - Before performing the actions, wait for the target to become ready. The following options are available:
- None - Does not wait for anything except the target UI element to exist before executing the action. For example, you can use this option if you want to retrieve just text from a web page or click a particular button, without having to wait for all UI elements to load. Note that this may have unwanted consequences if the button relies on elements which are not yet loaded, such as scripts.
- Interactive - Waits for the target app to indicate readiness, although some assets may still be loading.
- Complete - Waits for all of the UI elements in the target app to load before actually executing the action.
To assess if an application is in the Interactive or Complete state, the following tags are verified:
Desktop applications - A
wm_nullmessage is sent to check the existence of the
<uia>tags. If they exist, the activity is executed.
a. Internet Explorer - The
<webctrl>tag is used to check if the Ready state of the HTML document is set to Complete. Additionally, the Busy state has to be set to "False".
b. Others - The
<webctrl>tag is used to check if the Ready state of the HTML document is Complete.
SAP applications - First the presence of the
<wnd>tag verified, after which a SAP specific API is used to detect if the session is busy or not.
- Target – identifies the UI element the activity works with.
The target is composed of multiple pieces, namely the container, selector and clipping region, to ensure that you correctly identify a UI element.
A container gives you a little more context for the button or field you want to use, so that you can tell windows apart or different areas of the same app. They are automatically generated, but you can make changes to them in the Properties panel.
The following are containers: