Robot Framework For循環詳解
Robot Framework支持FOR循環語句,語法和Python的語法基本相同,但Robot Framework中,“FOR”關鍵字前面需要增加一個“:”,寫成“:FOR”,其它與Python的語法相同。
1.普通For循環
普通的For循環,就是明確地指定需要循環的各個元素。
寫法如下圖:
運行結果如下圖:
2.在List變量內循環
注意,如果要在Robot Framework中聲明list變量,必須使用@{}的格式來聲明。
寫法如下圖:
運行結果如下圖:
3.多重嵌套循環
Robot Framework本身並不支持直接使用嵌套循環,但是可以通過在一個循環結構中使用另一個包含有循環結構的關鍵字來實現。
寫法如下圖,我封裝了一個名爲“內部循環”的關鍵字:
運行結果如下圖:
4.For in range循環,只指定結束
Robot Framework可以通過For in range關鍵字,來限制循環的範圍。
如果只指定了結束的範圍,那麼默認會從0開始循環,每次+1,直到結束的前一個停止。
寫法如下圖:
運行結果如下圖:
5.For in range循環,指定開始和結束
如果指定了開始和結束,那麼會從開始的數字開始,每次+1,直到結束的前一個停止。
寫法如下圖:
運行結果如下圖:
6.For in range循環,指定開始、結束和步長
如果指定了開始和結束,那麼會從開始的數字開始,每次+步長,直到結束的前一個停止。
寫法如下圖:
運行結果如下圖:
7.For in enumerate,獲取循環所在的index
有些時候需要知道當前循環中的循環位置的index編號,此時可以使用FOR index … IN ENUMERATE …關鍵字。在取index編號時,固定使用 ${index} 作爲變量名。
寫法如下圖:
運行結果如下圖:
8.For in zip循環多個列表
對於有些測試來說,可能會用到多個列表的數據,在循環中需要對這些數據進行組合使用。Robot Framework提供了一個叫做For…IN ZIP的關鍵字,該關鍵字來自於python內置的zip函數,可用於對列表進行組合。
寫法如下圖:
運行結果如下圖:
9.Exit for loop跳出循環
跳出循環,可以使用 Run keyword If … 條件 … Exit for loop的關鍵字。
寫法如下圖:
運行結果如下圖:
也可以使用Exit for loop If … 條件 的關鍵字。
寫法如下圖:
運行結果如下圖:
10.Continue for loop繼續循環
在指定位置繼續循環,可以使用 Run keyword If … 條件 … Continue for loop的關鍵字。
寫法如下圖:
運行結果如下圖:
也可以使用Continue for loop If … 條件 的關鍵字。
寫法如下圖:
運行結果如下圖:
11.Repeat keyword重複執行某一關鍵字
某些情況下,循環結構可能只需要對一個關鍵字做執行次數的循環。Robot Framework提供了一個關鍵字Repeat Keyword,只需指明循環次數和循環中的關鍵字即可。而在描述循環次數時,有時爲了讓測試用例易於理解,可以在次數後面添加一個times 或 x。
寫法如下圖:
運行結果如下圖: