1. 程式人生 > >Robot Framework常用關鍵字介紹

Robot Framework常用關鍵字介紹

封裝 用例 編程 簡單 mage lee create blog 打印

常用關鍵字介紹

在學習一門編程語言的時候,大多教材都是從打印“hello world”開始。我們可以像編程語言一樣來學習 Robot Framework。雖然通過 RIDE 提供“填表”一樣的寫測試用例的方式。但它卻有著像編程語言
一樣的強大的關鍵字,以及可以開發關鍵字的擴展能力。

1 log 就是“print”

log 關鍵字就是編程語言裏的“print”一樣,可以打印任何你想打印的內容。
在 test case 中填寫以下內容:

技術分享圖片

勾選測試用例,點擊工具欄的“Run Tests”按鈕或按快捷鍵“F8”執行測試用例。如圖:

技術分享圖片

在 Run 標簽頁,將看到執行結果:

技術分享圖片

通過運行結果中看到,“ INFO:”的“hello world” 就是通過 log 關鍵字打印的信息。

2 定義變量

在 robot Framework 中通過“Set variable”關鍵字來定義變量,如:

技術分享圖片

執行結果:
技術分享圖片

3 連接對象

“Catenate”關鍵字可以連接多個信息。

技術分享圖片

執行結果:
技術分享圖片

加上“SEPARATOR=”可以對多個連接的信息進行分割。

技術分享圖片

執行結果:
技術分享圖片

4 定義列表

通過“Create List”關鍵字可以定義列表。例 1

技術分享圖片

執行結果:
技術分享圖片

每個字符串前面加 u,是為了統一編碼問題,將字符串轉為 Unicode 編碼。
例 2
技術分享圖片

如果通過“@{}”去定義列表的話,可以通過“log many”關鍵字進行打印
執行結果:
技術分享圖片

5 .時間的操作

在 Robot Framework 中也提供操作時間的關鍵字。
1) Robot Framework 中提供了“get time”關鍵字用來獲取當前時間。
技術分享圖片

執行結果:
技術分享圖片

2) “sleep”關鍵字用來設置休眠一定時間。
技術分享圖片

sleep 關鍵字默認以“秒”為單位。
執行結果:

技術分享圖片

通過前後兩次獲取當前時間的差,可以清楚的看到 sleep 休眠 5 秒所起的作用。

6 if 語句

通過“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}列表中的字符。
執行結果:
技術分享圖片

8 強大的 Evaluate

為什麽說“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 使用。

9 導入庫

在 Python 語言中可以使用 import 導入標準和第三方模塊或框架。那麽在 Robot Framework 中也提供
了“Import Library”關鍵字來完成這個事情。
1、調用框架
技術分享圖片

我們導入了 Python 標準的單元測試框架 unittest。當然,在 Robot Framework 中並不能使用 unittest
單元測試框架。這只裏只演示“Import Library”等同於 Python 語言中的 import。
假如我們通過“Import Library”導入一個不存在的模塊“HTMLTestRunner”
Robot Framework 會遍歷 Python 安裝目錄下的相關目錄查找“HTMLTestRunner”模塊。
2、調用 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庫提供常用的關鍵字。

Robot Framework常用關鍵字介紹