Robot Framework使用For迴圈

2022-08-13 10:51:19 字數 3128 閱讀 1925

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 例如:

RobotFramework測試Rest服務

python有乙個都對http請求封裝的很好的類庫 requests 見這裡 而rest服務就是基於http請求之上的,活躍的社群也有提供了乙個封裝 robotframework requests 見這裡 可以用來方便的測試rest服務 這裡記錄下在使用過程中碰到的問題 1.import的時候,名字...

RobotFramework 資料分離

robotframework 資料分離分為三種 1.run 新增引數 2.外部的python檔案 3.讀取excel run 新增引數 適用於jenkins 使用 v 引數名 引數值 使用外部的python檔案 使用外部的python檔案進行資料分離的話,首先建乙個python檔案,並在裡面定義乙個...

robot framework環境搭建

一 robot framework環境搭建 官網 序號安裝包名 安裝方法備註1 python exe檔案,直接雙擊安裝 一切的基礎,安裝路徑不能有空格 2setuptools python 的套件管理程式 3pip 1 cmd進入ez setup.py檔案目錄 2 用setuptools安裝 eas...