1. 程式人生 > >Robot Framework使用For循環

Robot Framework使用For循環

數量 for loop 似的 word pad 不包含 不支持 tab 一行

1.普通的For循環

在一個普通的For循環中,循環開始的關鍵字是 :FOR ,其中的:用於與一般關鍵字做區分,對於循環結構體內的每一行,使用 \ 作為改行的行首關鍵字。對於循環中的變量,可以在 IN 關鍵字後給出所有變量,也可以從一個列表中進行賦值,每次循環從列表中取出一個值。例如:

1)給出所有變量

技術分享

2)從列表中進行賦值

技術分享

執行測試用例,輸出結果為:

技術分享

2.嵌套循環

Robot Framework本身並不支持直接使用嵌套循環,但是可以通過在一個循環結構中使用另一個包含有循環結構的關鍵字來實現。例如

在使用時,調用Handle Table,Handle Table再調用內層循環Handle Row,從而實現嵌套循環的目的。

3.For-in-range循環

除了針對序列的循環之外,有些時候還需要能夠進行特定叠代次數的循環。Robot Framework中通過1)只使用數據上限

只使用數據上限時,數據從0開始,每次+1,數據從0直到指定數據,但不包含該數據。例如:

技術分享

輸出結果為0、1、2、3、4、5、6、7、8、9,數據從0開始至9結束,輸出結果不包含10.

2)使用開始和結束數據

使用開始和技術數據時,數據從“開始數據”開始,每次+1,至“結束數據”結束,但不包含結束數據。例如:

技術分享

輸出結果為2、3、4、5、6、7、8、9、10,數據從2開始至10結束,輸出結果不包含11.

3)使用開始、結束、步長

使用 開始、結束、步長 時,數據從“開始數據”開始,每次+“步長數據”,至“結束數據”結束,但不包含結束數據。例如:

技術分享

輸出結果為2、5、8,數據從2開始至11結束,每次累加3,輸出結果不包含11.

4.For-in-enumerate循環

有些時候需要知道當前循環中的循環位置的index編號,此時可以使用技術分享

運行結果為

技術分享

5.多變量循環

與Python中的for循環類似的是,當列表中的變量數量可以被一定數量整除時,可以直接使用等於該數量的變量做循環。例如

技術分享

6.For-in-zip 循環

對於有些測試來說,可能會用到多個列表的數據,在循環中需要對這些數據進行組合使用。Robot Framework提供了一個叫做For-in-zip的關鍵字,該關鍵字來自於python內置的zip函數,可用於對列表進行組合。例如

技術分享

這裏註意,我們在定義一個列表變量時,可以使用${列表名},也可以使用@{列表名},而在for-in-zip循環中使用該關鍵字時,只能使用${列表名}。執行測試用例,結果如下:

技術分享

7.跳出循環

一般來說一個循環結構的用例需要遍歷完所有數據後再退出。某些情況下,需要提前終止並跳出循環時,可以使用Exit For Loop 或者 Exit For Loop If。例如

技術分享

或是使用

技術分享

執行測試用例,輸出結果為:

技術分享

8.在循環中使用continue

有些時候,需要在循環中使用continue來跳過循環結構體中的某些過程。在Robot Framework中,可以使用Continue For Loop 或者 Continue For Loop If。具體用法與跳出循環時的Exit用法一致,這裏不再做演示。

9.重復執行單一關鍵字

某些情況下,循環結構可能只需要對一個關鍵字做執行次數的循環。Robot Framework提供了一個關鍵字Repeat Keyword,只需指明循環次數和循環中的關鍵字即可。而在描述循環次數時,有時為了讓測試用例易於理解,可以在次數後面添加一個times 或 x 例如:

技術分享

Robot Framework使用For循環