While 迴圈 - daniel-qa/RobotFramework GitHub Wiki
https://robocorp.com/docs/languages-and-frameworks/robot-framework/while-loops
For 迴圈
Only upper limit
[Documentation] Loops over values from 0 to 9
FOR ${index} IN RANGE 10
Log ${index}
END
While 迴圈
- 簡單範例
WHILE ${Frue} == ${True}
Log Demo
END
- 判斷元件是否存在範例
${element_present}= Set Variable False
Log Value of my_variable is: ${element_present}
Log 判斷下一題按鈕是否Enable
${element_present} Run Keyword And Return Status Page Should Not Contain Element css=.pageCtl2 button:nth-child(2).disable
WHILE ${element_present} == ${True}
Log 判斷下一題按鈕是否Enable
${element_present} Run Keyword And Return Status Page Should Not Contain Element css=.pageCtl2 button:nth-child(2).disable
Log 依題型判斷作答
依題型判斷作答
Log 下一題
下一題
Sleep 3s
END
Log 交卷
交卷
- While 的 limit
While 循環的默認限制為 10000 次迭代,以避免意外的無限循環。上面的示例在達到默認限制 (10000) 時引發異常。
limit 跳出時,不引發錯誤
*** Variables ***
${index} 0
*** Test Cases ***
Example Test Case
TRY
WHILE ${True} limit=3
Log Test ${index}
Set Variable ${index}=${index}+1
END
EXCEPT WHILE loop was aborted type=start
Log The loop did not finish within the limit.
END
*** Tasks ***
WHILE: A simple while loop using the default loop limit
WHILE True limit=10000
Log Executed until the default loop limit (10000) is hit.
END
- 跳過 while 循環迭代CONTINUE
CONTINUE可用於跳過循環迭代。循環將繼續進行下一次迭代:
*** Tasks ***
WHILE: Skip a loop iteration with CONTINUE
${x}= Set Variable ${0}
WHILE ${x} < 3
${x}= Evaluate ${x} + 1
IF ${x} == 2 CONTINUE # Skip this iteration.
Log x = ${x} # x = 1, x = 3
END
- 退出 while 循環BREAK
BREAK可以用來跳出循環。它將有效地結束循環:
*** Tasks ***
WHILE: Exit loop with BREAK
WHILE True
BREAK
Log This will not be logged.
END