Wait laps of time between two calls to a webservice using RobotFrameWork

Viewed 660

I want to call a webservice and recover a date1 than I want to wait couple of seconds before calling the same webservice and recover date2

I have tried with the keyWord sleep

${Date1}=   Recuperer Donnee Liste   ${monSubscriberJsonC1}    recepetionDerniereLocalisation

Log   ${Date1}

     \    Sleep 1.5

Log   ${monSubscriberJsonC2}

${Date2}=   Recuperer Donnee Liste   ${monSubscriberJsonC2}    recepetionDerniereLocalisation

Log   ${Date2}

As a message I got

Keyword name cannot be empty.

and also

No keyword with name 'Sleep 10s' found.
2 Answers

This No keyword with name 'Sleep 10s' found. occurs because you don't have the minimun two spaces between keyword (Sleep) and argument(s) (10s). Add a space between them.

Also, \ is used for loop indendation.

Here's the Sleep keyword documentation: https://robotframework.org/robotframework/latest/libraries/BuiltIn.html#Sleep

Applied to your given example:

${Date1}=   Recuperer Donnee Liste   ${monSubscriberJsonC1}    recepetionDerniereLocalisation

Log   ${Date1}
Sleep  1.5s

Log   ${monSubscriberJsonC2}

${Date2}=   Recuperer Donnee Liste   ${monSubscriberJsonC2}    recepetionDerniereLocalisation

Log   ${Date2}

It's always good to write the unit after sleep times. As you see from the documentation it's also possible to sleep milliseconds ms which is often the default when dealing with time, unlike in Robot where the default is a second.

Related