在學習一門編程語言的時候,大多教材都是從打印「hello world」開始。咱們能夠像編程語言同樣來學習 Robot Framework。雖然經過 RIDE 提供「填表」同樣的寫測試用例的方式。但它卻有着像編程語言
同樣的強大的關鍵字,以及能夠開發關鍵字的擴展能力。編程
log 關鍵字就是編程語言裏的「print」同樣,能夠打印任何你想打印的內容。
在 test case 中填寫如下內容:小程序
勾選測試用例,點擊工具欄的「Run Tests」按鈕或按快捷鍵「F8」執行測試用例。如圖:
框架
在 Run 標籤頁,將看到執行結果:dom
經過運行結果中看到,「 INFO:」的「hello world」 就是經過 log 關鍵字打印的信息。編程語言
在 robot Framework 中經過「Set variable」關鍵字來定義變量,如:函數
執行結果:
工具
「Catenate」關鍵字能夠鏈接多個信息。單元測試
執行結果:
學習
加上「SEPARATOR=」能夠對多個鏈接的信息進行分割。測試
執行結果:
經過「Create List」關鍵字能夠定義列表。例 1
執行結果:
每一個字符串前面加 u,是爲了統一編碼問題,將字符串轉爲 Unicode 編碼。
例 2
若是經過「@{}」去定義列表的話,能夠經過「log many」關鍵字進行打印
執行結果:
在 Robot Framework 中也提供操做時間的關鍵字。
1) Robot Framework 中提供了「get time」關鍵字用來獲取當前時間。
執行結果:
2) 「sleep」關鍵字用來設置休眠必定時間。
sleep 關鍵字默認以「秒」爲單位。
執行結果:
經過先後兩次獲取當前時間的差,能夠清楚的看到 sleep 休眠 5 秒所起的做用。
經過「run keyword if」關鍵字能夠編寫 if 分支語句。
首先定義兩個變量 a 等於 59 。
If 判斷 a 大於等於 90 ,知足條件 log 輸出 「優秀 」;
不知足上面的條件,接着 else if 判斷 a 大於等於 70 ,知足條件 log 輸出 「良好」;
不知足上面的條件,接着 else if 判斷 a 大於等於 60 ,知足條件 log 輸出 「及格」;
上面的條件都不知足,else log 輸出「不及格」。
注:注意 sele if 和 else 前面的三個點點點(...)
執行結果:
7 for 循環
在 Robot Framework 中編寫循環經過「:for」。
例 1,執行 10 次循環。
經過「:for」定義 for 循環;in range 用於指定循環的範圍。
注意,in range 定義爲 10,它的範圍是 0~9。
例 2,遍歷列表。
「create list」 關鍵字用來定義列表(a,b,c),「@{}」用來存放列表。
經過過「:for」循環來來遍歷@{abc}列表中的字符。
執行結果:
爲何說「Evauate」關鍵字強大呢。由於經過它能夠使用 Python 語言中所提供的方法。
例 1,生成隨即數
在 Python 中咱們能夠這樣來引和並使用方法:
Python Shell
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import random
>>> random.randint(1000, 9999)
3308
random 模塊的 randint()方法用於獲取當前時間。
在 Robot Framework 中使用「Evauate」也能夠調用 Python 所提供的 random 模塊下的 randint()方法。
執行結果:
例 2,執行本地程序
經過調用 Python 所提供的 os 模塊中的 system()方法能夠執行本地 Python 文件。至於在.py 文件中
Python 能夠作任何想作的事。
對於 system()方法來講,它也不僅僅可執行 Python 文件,任何在 cmd 命令提示符下可運行文件和命
令,它均可以執行。
不過,通常狀況下不建議經過 system()方法去執行外部程序。這樣作其實就脫離了 Robot Framework,
也就是說無論 Robot Framework 什麼事了。咱們儘可能把要作的事情經過 Python 封裝成關鍵字給 Robot
Framework 使用。
在 Python 語言中能夠使用 import 導入標準和第三方模塊或框架。那麼在 Robot Framework 中也提供
了「Import Library」關鍵字來完成這個事情。
一、調用框架
咱們導入了 Python 標準的單元測試框架 unittest。固然,在 Robot Framework 中並不能使用 unittest
單元測試框架。這隻裏只演示「Import Library」等同於 Python 語言中的 import。
假如咱們經過「Import Library」導入一個不存在的模塊「HTMLTestRunner」
Robot Framework 會遍歷 Python 安裝目錄下的相關目錄查找「HTMLTestRunner」模塊。
二、調用 Python 文件
首先建立 test.py 文件。
test.py
#coding=utf-8
def add(a,b):
return a+b
if __name__ == "__main__":
a = add(4,5)
print a
運行結果爲 9,這是再簡單不過的小程序了。
下面就經過 Robot Framework 調用 test.py 文件中的 add()函數。
執行結果:
從執行結果中看到和預想的結果不是樣,不該該是 9 麼?怎麼是 45。這是由於 Robot Framework 把 4
和 5 當前兩個字符串。因此 4 和 5 拼接起來是 45。咱們能夠將 4 和 5 轉化成 int 類型,再調用 add。
執行結果:
經過「Evaluate」轉化成爲 int 類型後,再調用 add 就獲得了想要的結果。
10 註釋
Robot Framework 中添加註釋也很是簡單。「Comment」關鍵字用於設置腳本中的註釋。
除此以外,你也能夠像 Python 同樣使用「#」號進行註釋。
這一小節中介紹的關鍵字所有由 Builtin 庫提供,Builtin 爲 Robot Framework 標準類庫。Builtin庫提供經常使用的關鍵字。