Implicit Delays

Implicit delays occur after execution of actions on recorded/learned objects. For example, you captured  a button object and run DoClick action on it.

SeS("OkButton").DoClick();

In this case after clicking on the button Rapise will wait for certain amount of time. Duration of this delay is specified in the test settings. The value of CommandInterval is in milliseconds.

Note: CommandInterval does not affect property getters and setters as well as any action calls on Global objects:

Increase CommandInterval to slow down test execution in general, this may help to avoid using many explicit delays.

There is a way to increase the amount of time Rapise tries to find an object in screen.

Rapise always does the number of ObjectLookupAttempts with ObjectLookupAttemptInterval delays to find an object. In our example if Rapise does not find an object using 5 attempts with 300 milliseconds between each attempt then it considers the object as not found.  So the object has 5*300=1500 milliseconds to appear on screen. For web testing and slow desktop applications we recommend 50 attempts with 300 milliseconds delay. Do not worry, if Rapise finds an object during some attempt it immediately proceeds with execution.

Explicit Fixed Delays

Explicit fixed delays can be added into a test by calling

Global.DoSleep(10000);

Parameter of the DoSleep action is the number if milliseconds to wait.

Explicit Delays with Timeout

Rapise also can perform wait until timeout and proceed immediately when an object appears on screen or some property of an object has specified value. Use this method when an application under test performs some lengthy operation, e.g. loading some data.

See this article to learn about Global.DoWaitFor and Global.DoWaitForProperty.