robotframework關鍵字
可以將關鍵字看作是處理數據的方法。robotframework的關鍵字和測試數據組成了測試用例。
robotframework關鍵字包括系統關鍵字和用戶關鍵字。用戶關鍵字是我們根據業務將不同的業務封裝成一個關鍵字或者將用例執行的步驟封裝成一個關鍵字。系統關鍵字由各種庫分門別類,例如SeleniumLibrary,AutoItLibrary,appiumlibrary, Database Library等。
系統關鍵字和封裝好的用戶關鍵字都需要導入。
常用關鍵字
1、賦值定義變量關鍵字: Set variable
如上,給promanage賦值為字符串 ”xpath=/html/dody/div[1]“。
賦值關鍵字這里需要說明下作用域的概念。
RF變量作用域向下覆蓋。
意思是:設置在case內的變量,作用域是字在case內部
userkeyword內的變量,作用域是用戶關鍵字內部
套件suite內的變量,分為文件類型和目錄類型。變量的作用域在suit內部,所有的suite下case也可使用。目錄類型的suite內變量不傳遞給下面的文件suit,因此不建議在目錄類型的suite下加入變量。
變量作用域是可以修改的,下面幾個關鍵字可以修改變量作用域。
- Set Global Variable :
使用該關鍵字修改變量作用域后,在所有測試套件suite中都可以使用該關鍵字定義的變量。但是要注意目錄型suite和文件型suite的作用域區別。
舉例如下:
在case1中定義的${qq}變量,case2中可以訪問到,在case3中不能訪問到。
- Set Suite Variable
使用此關鍵字設置的變量在當前執行的測試套件的范圍內隨處可用。
- Set Test Variable
使用范圍:使用此關鍵字設置的變量在當前執行的測試用例的范圍內隨處可用。
2、定義列表關鍵字:Create List
打印列表注意用“log many”打印出來是分元素的。打印單個元素可以用“log ${listname[i]}”的關鍵字。
case2中使用關鍵字:
打印內容如下:
3、if關鍵字:run keyword if
通過“run keyword if”關鍵字以及配套的“ELSE IF”,”ELSE”可以編寫 if 分支語句。格式如下:
注意:每行的省略號不能少,“ELSE IF”,”ELSE”需要大寫。
結果如下:
4、循環關鍵字:for
RIDE1.7.4.1版本的FOR循環語句結構與RIDE之前版本稍微有些變化,需要在FOR循環語句結束后加上END(注意END一定要大寫)。
遍歷列表中內容:
注意:IN關鍵字要大寫。END關鍵字需要且要大寫。輸出內容如下:
循環中加入判斷:
注意:‘${i}’==’b’,當對象是字符或者字符串,需要用單引號包裹。如果是int類型的list,則不需要,如下:
輸出內容如下:
5、使用python方法關鍵字:Evaluate
Evaluate使用 Python 語言中所提供的方法。
通過Evaluate執行本地程序:
通過調用 Python 所提供的 os 模塊中的 system()方法可以執行本地 Python 文件。本例中執行了rftest.py這個文件,但是執行這個文件相當於只是用RF觸發,執行過程和結果跟RF沒什么關系。
6、導入庫關鍵字:import
Import Library等同於 Python 語言中的 import。如果直接在“Import Library”關鍵字后定義庫名,則RF會遍歷python安裝目錄下,找相關庫。如果定義的是.py文件地址,則執行該文件。例如:
執行結果如下: