Robot Framework測試框架
Robot Framework
- Robot Framework是一個通用型的自動化測試框架
- 框架 - 實現特定需求的軟體的解決方案工具包
什麼是自動測試框架
- 為解決某一個領域問題的工具包。
- 自動測試用例的實現方式
- 自動測試用例的開發支援
IDE(RIDE)
庫
和用例管理系統的整合
測試執行
-
相關測試套件(Suite)和測試用例的執行規則
-
初始化和清除
-
測試報告
測試人員開發測試資料檔案對應一個個的測試用例
測試資料裡面使用的功能小模組叫關鍵字,由測試庫實現
- Robot Framework載入測試庫,並解釋執行Test Data也就是測試用例
RF的安裝(py2和py3都支援)
RF的安裝(python語言開發的,就是一個庫)
1.在Python中安裝 robotframework
- 執行命令 pip install robotframework
2. seleniumlibrary #支援selenium自動化的RF擴充套件庫**
-
在兩個Python中安裝 seleniumlibrary
-
安裝命令 pip install robotframework-seleniumlibrary
-
或者 pip install --upgrade
robotframework-seleniumlibrary(–upgrade寫不寫都可以)
3.pycharm安裝外掛
在Pycharm中,點選選單 file - settings - plugins
在彈出對話方塊中 點選下方 按鍵 Browse Repository
在新對話方塊中, 搜尋欄裡面輸入 robot
安裝 下面3個外掛
-
IntelliBot #pycharm裡面語法高亮的外掛
-
IntelliBot @SeleniumLibrary Patched
#SeleniumLibrary的關鍵字有事不能導航到diamante裡面去,建議安裝這個庫 -
Run Robot framework file #或(Run Robot Framework TestCase)隨便安裝一個。
裝好了之後可以在pycharm裡面直接執行,的敲命令
上面3步裝好就行了
ride是圖形介面的,提供了視覺化的編輯功能,ride的開發者已經不維護他了,只可以py2用。不建議使用。開源的程式碼,有人已經開發了py3的。
test suit 和testcase
測試套件,就是測試用例的集合
一般我們把功能相關的測試用例組合起來放在一起,成為某個測試套件 #可以是一個目錄,可也以是一個檔案。跟資料夾一樣,可以層層巢狀。檔案裡面是測試用例。
測試套件裡面包含測試用例
程式碼例子:
*** Settings *** #相當於import 庫,它的匯入申明就是這樣的。配置的表,三個星號加表的名字。測試用例檔案是由表組成的。
Library SeleniumLibrary #在rf測試檔案中,一共有4種類型的表。
*** Test Cases *** #用例表
百度搜索鬆勤 #用例名,裡面的內容都是縮排的
Open Browser http://www.baidu.com chrome
Set Selenium Implicit Wait 5
Input Text id=kw 鬆勤\n
${firstRet}= Get Text id=1
Should Contain ${firstRet} 鬆勤網 #檢查點的關鍵字
**執行用例**
-
開發的時候是一個一個執行
-
批量的時候可以直接執行命令: robot rffile(檔案所在目錄) 會找出所有的用例執行
執行單個用例:robot text01.robot 用例檔名稱
RF支援四種的表
-
分別是:Settings,Variables,Test Cases,Keywords
-
表明必須出現在第一個單元格中,表名大小寫不敏感
Settings表,是這個測試套件的全域性配置表。比如,說明這個測試套件要使用的測試庫,資原始檔,測試套件的環境初始化(setup)和清除(tear down),該套件內的標籤等等
Test Cases表,是用來定義這個測試套件的測試用例的
Variables表,就是這個測試條件的全域性變量表
Keywords表,是用來定義這個測試套件的使用者關鍵字的
關鍵字的來源
-
測試庫
-
資原始檔
-
用例所在檔案的關鍵字表
測試用例表裡面的每個測試用例 大概可以分為
-
配置部分
[Documentation]該用例的文字說明 [Tags]該用例的標籤 [Setup],[Teardown]該用例的初始化和清除操作 [Template]宣告該用例是模板關鍵字驅動的。本用例只包含測試資料 [Timeout]設定用例的超時時間
主體部分
-
用例主題部分主要是有變數組成的
**關鍵字的來源** 測試庫 資原始檔 用例所在檔案的關鍵字表
-
用例主題部分也包含變數賦值
rf裡面的註釋也是用#號