Robot Framework 架構是一個通用的驗收測試和驗收測試驅動開發的自動化測試框架(ATDD)。如果有使用過python中unittest或者java中junit中的同學會發現robot framework也差不多,也是使用例結構化,通過自動化的手段來測試,並將結果形成html形式的報告。我使用的語言是python,所以就用python來講下它的使用
1、安裝
首先安裝robotframework這個第三方庫,pip install robotframework,安裝完成后會發現scripts這個目錄下多了一個pybot.bat這個文件,則說明安裝成功,將scripts加入PATH下,在cmd中輸pybot,有內容則證明安裝成功
2.IDE
robot framework代碼在哪里寫呢?如果使用python2的同學可以安裝Robot Framework RIDE ,但是這個只能用於python2,因為python2才支持wxpython,我使用的是py3,所以只好放棄了,可以選擇Sublime text3,vim,或者直接用Notepad ++
3.簡單的例子
如上圖所示,Test cases表示以下是測試用例,test rf 是用例名稱,log等同於print,注意,log之前有四個空格,后面也是,用於分隔關鍵字和字符串。
4.運行
將上面的文件保存為example.robot,在cmd中進入文件目錄,輸入pybot example.robot,如下圖所示
證明全部成功,會產生三個文件,output.xml,log(網頁形式),report(網頁形式)
output.xml 記錄的測試結果是 XML 文件。根據特定的需要可以編寫腳本讀取 XML 文件並生成特定的測試報告。
log.html 會記錄 Robot Framework 運行的每一步操作,主要用於編寫測試腳本的過程中查看。
report.html 為測試報告,整理性的展示測試用例的運行情況。
5.語法
robotframework的語法和python大不相同,以下列出一些:
造成這些差異的原因主要是robotframework是關鍵字驅動,關鍵字也可以像py函數一樣自己定義
6.第三方塊
robotframework之所以可以進行自動化測試主要是用許多第三方的庫,如下所示:
-
Web 自動化測試:SeleniumLibrary,Selenium2Library,Selenium2Library for Java、watir-robot 等。
-
Windows GUI 測試:AutoItLibrary。
-
移動測試:Android library、iOS library、AppiumLibrary 等。
-
數據庫測試:Database Library (Java)、Database Library (Python)、MongoDB library 等。
-
文件對比測試:Diff Library。
-
HTTP 測試:HTTP library (livetest)、HTTP library (Requests)等。
那如何聲明及調用呢?
這是一個利用seleniumLibrary進行百度搜索的自動化例子,先在settings中聲明調用的Library,再在用例中使用library中的關鍵字來測試,學過selenium的同學會感覺似曾相識,具體的關鍵字可以自行百度
robotframework中可以用的自動化框架比較多,但是對於不了解其中關鍵字的同學可能需要花時間來學習,這只是個入門,其中還有許多精妙的語法,Robot Framework 用的好,Python 少不了!所以,我的建議是要想用好 Robot Framework 必須要學習和掌握 Python 語言。