上一小節,你已經感覺到了 Robot Framework 的基本說法,這一小節你將會看到 Robot Framework 更多強大的用法。編程
if 語句
經過 「run keyword if」 關鍵字能夠編寫 if 分支語句。小程序
*** Test Cases *** test case8 ${a} Set variable 59 run keyword if ${a}>=90 log 優秀 ... ELSE IF ${a}<=70 log 良好 ... ELSE IF ${a}<=60 log 及格 ... ELSE log 不及格
首先定義變量 a 等於 59 。bash
If 判斷 a 大於等於 90 ,知足條件 log 輸出 「優秀 」;dom
不知足上面的條件,接着 else if 判斷 a 大於等於 70 ,知足條件 log 輸出 「良好」;編程語言
不知足上面的條件,接着 else if 判斷 a 大於等於 60 ,知足條件 log 輸出 「及格」;函數
上面的條件都不知足,else log 輸出「不及格」。post
注意 sele if 和 else 前面的三個點點點(…)lua
for 循環
在 Robot Framework 中編寫循環經過 「:FOR」 。spa
一、循環 0~9 。
*** Test Cases *** test case9 :FOR ${i} IN RANGE 10 \ log ${i}
經過「:FOR」定義 for 循環;IN RANGE 用於指定循環的範圍。
二、遍歷列表。
*** Test Cases *** test case10 @{abc} create list a b c : FOR ${i} IN @{abc} \ log ${i}
「create list」 關鍵字用來定義列表(a,b,c),「@{}」用來存放列表。經過過 「:FOR」 循環來來遍歷@{abc}列表中的字符。
強大的 Evaluate
爲何說「Evauate」關鍵字強大呢。由於經過它可使用 Python 語言中所提供的方法。
一、 生成隨即數
在 Python 中咱們能夠這樣來引和並使用方法:
C:\Users\fnngj> python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import random >>> random.randint(1000, 9999) 9777
random 模塊的 randint()方法用於獲取當前時間。
在 Robot Framework 中使用 「Evauate」 也能夠調用 Python 所提供的 random 模塊下的 randint()方法。
*** Test Cases *** test case11 ${d} Evaluate random.randint(1000, 9999) random log ${d}
二、 調用本身編寫的 Python 程序
首先建立 D:/rf_test/count.py 文件。
def add(a,b): return a + b if __name__ == "__main__": a = add(4,5) print(a)
經過add函數實現兩個數相加,這是再簡單不過的小程序了。
下面就經過 Robot Framework 調用 count.py 文件中的 add()函數。
*** Test Cases *** test case12 Import Library D:/rf_test/count.py ${a} Evaluate int(4) ${b} Evaluate int(5) ${add} add ${a} ${b} log ${add}
在 Robot Framework 中全部的內容都不是字符串類型,因此,須要經過 「Evaluate」 將 4 和 5 轉化爲 int 類型後,再調用 add 計算兩個數的和。
註釋
Robot Framework 中添加註釋也很是簡單。「Comment」 關鍵字用於設置腳本中的註釋。除此以外,你也能夠像 Python 同樣使用「#」號進行註釋。
*** Test Cases *** test case13 Comment 這是註釋 #這也是註釋
若是你熟悉 Python 編程語言,那麼 Robot Framework 幾乎沒有實現不了的功能。