下面關鍵字全部由 Builtin 庫提供,Builtin 為 Robot Framework 標准類庫。Builtin庫提供常用的關鍵字
1、log
log 關鍵字就是編程語言里的“print”一樣,可以打印任何你想打印的內容。
運行結果:
2、定義變量
通過“Set variable”關鍵字來定義變量
運行結果:
Set Global Variable
使用范圍:在所有測試套件中都可以使用該關鍵字定義的變量。
Set Suite Variable
使用范圍:使用此關鍵字設置的變量在當前執行的測試套件的范圍內隨處可用。
Set Test Variable
使用范圍:使用此關鍵字設置的變量在當前執行的測試用例的范圍內隨處可用
Set Variable
使用范圍:該關鍵字主要用於設置標量變量。此外,它可用於將包含列表的標量變量轉換為列表變量或多個標量變量。建議在創建新列表時使用創建列表。使用此關鍵字創建的變量僅在創建它們的范圍內可用
3、連接對象
“Catenate”關鍵字可以連接多個信息
運行結果:
加上“SEPARATOR=”可以對多個連接的信息進行分割。
運行結果:
4、定義列表
通過“Create List”關鍵字可以定義列表。每個字符串前面加 u,是為了統一編碼問題,將字符串轉為 Unicode 編碼。
運行結果:
如果通過“@{}”去定義列表的話,可以通過“log many”關鍵字進行打印
運行結果:
5、時間的操作
Robot Framework 中提供了“get time”關鍵字用來獲取當前時間。
運行結果:
6、設置休眠時間
“sleep”關鍵字用來設置休眠一定時間,sleep 關鍵字默認以“秒”為單位。
運行結果:
7、if語句
通過“run keyword if”關鍵字可以編寫 if 分支語句。
首先定義一個變量 a 等於 59 。
If 判斷 a 大於等於 90 ,滿足條件 log 輸出 “優秀 ”;
不滿足上面的條件,接着 else if 判斷 a 大於等於 70 ,滿足條件 log 輸出 “良好”;
不滿足上面的條件,接着 else if 判斷 a 大於等於 60 ,滿足條件 log 輸出 “及格”;
上面的條件都不滿足,else log 輸出“不及格”。
注:注意 ELSE IF 和 ELSE 前面的三個點點點(...)。注意ELSE IF和ELSE要是大寫。
Run Keyword If ${Query_month} < 202008 ... run keywords Set Suite Variable ${from_date} ${xxx} ... AND Set Suite Variable ${to_date} ${xxx} ... ELSE IF ${Query_month} >= 202008 ... Run Keywords Set Suite Variable ${from_date} ${xxxx} ... AND Set Suite Variable ${to_date} ${xxxxx} ... ELSE IF ${Query_month} >= 202008 and '${xx}[0]' == 'SMS' ... Run Keywords Should Be Equal As Integers 0 ${xx} ... AND Should Be Equal As Integers ${xx}[0][1] ${xx} ... AND Should Be Equal As Integers ${xx}[0][2] ${xx} ... AND Should Be Equal As Integers 0 ${xx} ... ELSE log Input Query_month:${Query_month} or Query_type:'${xx}[0]' error!!
8、for 循環
在 Robot Framework 中編寫循環通過“:for”。通過“:for”定義 for 循環;in range 用於指定循環的范圍。
例子1,這個例子為執行 10 次循環
運行結果:
注意:in range 定義為 10,它的范圍是 0~9
例 2,遍歷列表
“create list” 關鍵字用來定義列表(a,b,c),“@{}”用來存放列表。通過過“:for”循環來來遍歷@{abc}列表中的字符。
運行結果:
例 3,循環中的判斷
通過“Exit For Loop If”關鍵字時行 for 循環內的判斷,當滿足 Exit For Loop If 條件后,循環結束。
#定義集群節點列表變量
@{rediscluster} 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 ${redisPasswd} 123456
FOR ${redishost} IN @{rediscluster} ${ContentArray} Split String ${redisHost} : ${redis_conn} Connect To Redis ${ContentArray}[0] ${ContentArray}[1] redis_password=${redisPasswd} ${resyilt} ${returnvalue} Run Keyword And Ignore Error Delete From Redis ${redis_conn} operationFrequency:{${globalVIN}}:BATTERY_VOLTAGE_ALERT:${Date} Exit For Loop If '${resyilt}' == 'PASS' END