I am having some trouble using the activity “wait field text” from terminal / mainframe controls. I have two questions about it:
TimeoutMS, as I understand it, sets the maximum amount of time (in miliseconds) that an activity holds before triggering an exception. The problem I am having is that such property is not working properly, and the error triggers straightaway, way before the timeout interval has been reached. Don’t understand why that is happening.
Exception. Is there a way to control if the control does not find its related field it is pointing to, withouth triggering an exception? It is necessary to hold it inside a try/catch and I would prefer to know if there is a better way to control if a field has been loaded without that side effect.
Please try to run in debug mode as well and then let us know and check also without passing any timeout and it is taking default timeout i.e 30 seconds or not.
yes you can handle your exception and logs and process further remaining steps. you can use writeline activity or log activity to keep track of exceptions and others information at the time of running.
There is indeed a built-in problem with that property… What I did and worked as a workaround was:
Substitute the “wait text” activity for another activity “get text area” inside a retry scope, that controls when the correct screen is loaded. Such activity will scrape the screen header, and will store it in a string variable, that we will use to check if the correct header has been loaded on screen.
Once we know we are in the correct screen, we can continue working. I repeat, DO NOT USE “wait field” activity, as it definitively has bad design issues regarding its “timeout” property