自動化測試過程中,如果我們想多次運行某段語句,且每次使用的值都不一樣,那麼我們就要使用到循環。
在Robot FrameWork中,循環使用到的關鍵字是FOR,常用見應用如下。
應用一:
FOR ${變量} IN 參數1 參數2 參數3
參數可以是數字或字符串,FOR必須大寫
執行結果:
Starting test: TEST.LogTest.for INFO : 1 INFO : 2 INFO : 3 Ending test: TEST.LogTest.for
執行結果:
Starting test: TEST.LogTest.for INFO : apple INFO : pear Ending test: TEST.LogTest.for
應用二:
FOR ${變量} IN RANGE 初始值 終值(選填) 步長(選填)
執行結果:
Starting test: TEST.LogTest.for INFO : 0 INFO : 1 INFO : 2 Ending test: TEST.LogTest.for 說明:上述兩個執行結果一樣,從0開始,終值-1結束。
設置步長爲:2
執行結果:
Starting test: TEST.LogTest.for INFO : 0 INFO : 2 Ending test: TEST.LogTest.for
應用三:
使用exit for loop 退出循環(類似break),結合run keyword if關鍵字使用
執行結果:
Starting test: TEST.LogTest.loop INFO : @{list} = [ 1 | 3 | 5 | 7 ] INFO : 1 INFO : 3 INFO : 5 INFO : Exiting for loop altogether. Ending test: TEST.LogTest.loop
爲什麼用@{list}而不是${list},替換爲${list}後的執行結果爲
Starting test: TEST.LogTest.loop INFO : ${list} = ['1', '3', '5', '7'] INFO : ['1', '3', '5', '7'] Ending test: TEST.LogTest.loop
應用四:
continue for loop 跳過當前執行下一輪循環,結合run keyword if關鍵字使用
執行結果:
Starting test: TEST.LogTest.loop INFO : Continuing for loop from the next iteration. INFO : 1 INFO : Continuing for loop from the next iteration. INFO : 3 Ending test: TEST.LogTest.loop
拓展:
Repear Keyword關鍵字,多次執行指定的關鍵字,可以設定次數或執行時間
1、執行log關鍵字2s
執行結果:
Starting test: TEST.LogTest.continue INFO : Repeating keyword, round 1, 2s remaining. INFO :apple INFO : Repeating keyword, round 2, 1s 998ms remaining. INFO : apple INFO : Repeating keyword, round 3, 1s 996ms remaining. INFO : apple 。。。。。。 Ending test: TEST.LogTest.continue
2、執行log關鍵字兩次
執行結果:
Starting test: TEST.LogTest.continue INFO : Repeating keyword, round 1/2. INFO : apple INFO : Repeating keyword, round 2/2. INFO : apple Ending test: TEST.LogTest.continue