I make my first simple test case, and I have one problem.
Is it possible write a loop in Robot Framework?
I want to retrieve the value from the address and the address of the modified variable "i". I want to perform until such an address exists, because it is a row in the table.
${f1} A
${f_temp} B
While ${f1} != ${f_temp}
or
While element xpath=//${i} is visible
\ ${F_temp} Get Text xpath=//${i}
\ ${i} ${i}+1
\ Run Keyword And Continue On Failure Should be equal ${f_temp} ${f1}
Any ideas?
A common need in programming is repeating one or more operations until a condition is met. In Robot Framework and Python, this can be done with a while loop. The native WHILE loop is supported starting from Robot Framework version 5.
END Use Run Keyword If in Robot Framework Run Keyword If ${True} Log This line IS executed. Run Keyword If ${False} Log This line is NOT executed. Use Run Keyword Unless in Robot Framework Run Keyword Unless ${True} Log This line is NOT executed. Run Keyword Unless ${False} Log This line IS executed.
For example, if you are running tests on the current folder, you can pass "." as many times as you want the test to run. Ex: robot -t "*My test*" . . . This command will run all tests that match the expression 3 times, and the report will contain all 3 executions and results.
Robot Framework does not have a while loop. You must use the FOR-loop and "exit for loop if" keywords to exit. It will run in a finite time, but if you select a large enough number in range, it is close enough for practical purposes.
*** Test Cases ***
For Test
FOR ${i} IN RANGE 999999
Exit For Loop If ${i} == 9
Log ${i}
END
Log Exited
You might be looking for the Wait Until Keyword Succeeds
keyword, which enables you to do a similar construction to a while loop. It is much more readable than FOR
cycles with conditional exiting.
You then use your custom keyword, which fails when you need to end the "loop".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With