robot framework 是一個通用型的自動測試框架javascript
- 自動測試用例的實現方式html
- 自動測試用例的開發支持 : IDE、庫java
- 和用例管理系統的集成python
- 測試執行:相關測試套件和測試用例的執行規則;初始化和清除;測試報告。web
測試數據文件對應一個個的測試用例,測試數據文件裏使用的功能小模塊叫關鍵字,由測試庫實現。chrome
robot framework加載測試庫,並解釋執行Test Data也是測試用例。api
以關鍵字的形式來開發測試用例:瀏覽器
- 標準庫提供了經常使用功能cookie
- 第三方擴展庫框架
- 開發者根據產品自行開發庫:自動化框架、庫開發者;自動化用例開發者。
測試庫:
RF有自帶的測試庫,實現最核心、最經常使用的功能。好比:檢查點判斷、循環、判斷邏輯、獲取時間等
也有第三方開發好的庫,好比:咱們要測試web應用,就有。
也有咱們本身開發的,好比:要測試web api ,若是無第三方現成的,就本身開發
robot framework加載測試庫並解釋執行測試用例:
特色是:
- 提供簡單易懂的表格式的‘語言’來開發自動測試用例
- 它的標準庫提供了經常使用功能,以關鍵字keyword的形式來開發測試用例
關鍵字是RF開發的核心,關鍵字就指定了測試的一個個基本動做
- 開發人員劃分
- 它定義靈活且易理解的測試用例執行控制,包括執行哪些用例,如何在執行用例先後進行初始化和清除環境
- 它能夠方便挑選要執行的用例和套件(名稱、標籤過濾)
- 它有清晰的日誌和報表功能
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安裝:
RF使用python開發的框架,以python庫的形式安裝
首先要確保python安裝好,而且可執行目錄(包含python和scripts的兩個目錄)都在path環境變量裏面
RF支持python2和python3,和python3.6之後的版本
① 由於安裝包是放在pypi倉庫中,因此直接:pip install robotframework
② seleniumlibrary的安裝:也叫seleniumlibrary的RF擴展庫 pip install --upgrade robotframework-seleniumlibrary
③ pycharm的robot 用例標記插件的安裝:推薦使用pycharm插件Intellibot,可以高亮顯示各類語法
怎麼安裝?-》file--settings--plugins進去設置 安裝IntelliBo和IntelliBot@SeleniumLibrary Patched
ride不推薦安裝,緣由是:ride編輯器只支持Python2
④ *注意點* :之前作selenium自動化時,selenium須要知道webdriver程序的路徑。而如今咱們導入的seleniumLibrary裏面是沒有指定路徑的,所以解決辦法是:在path環境變量裏添加chromedriver的地址
若是在星星用例時,報path路徑錯誤,建議能夠把chromedriver.exe放到項目的根目錄下
⑤ 測試用例執行:點擊Terminal ,在裏面輸入 robot t1.robot,執行後會有輸出、日誌、報告。
實例:
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
百度搜索robot framework
Open Browser http://www.baidu.com chrome
Set Selenium Implicit Wait 5
Input Text id=kw robot framework
${firstRet}= Get Text id=1
Should Contain ${firstRet} Robot Framework
解釋說明:這裏包含了兩種表Settings表和 Test Cases表;另外還有兩個表 Variables表和Keywords表。
關鍵字其實就是對應了python或java裏面的一個函數調用,實現一個基本的功能。
Open Browser ---- 打開瀏覽器 Set Selenium Implicit Wait ---- 設置瀏覽器等待時間
Input Text ---- 向文本框輸入值 Should Contain ---- 驗證是否包含
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
學會看關鍵字文檔:能夠連接到robotframework.org/SeleniumLibrary/SeleniumLibrary.html
SeleniumLibrary庫:第三方開發者爲RF專門開發了一個庫,提供RF用例裏面使用的關鍵字,能夠自動化web操做。
SeleniumLibrary庫也是基於Selenium的,它封裝了Selenium操做到一些關鍵字中。
用法:在RF測試中,使用SeleniumLibrary,首先要使用該Library設置將庫導入爲任何其餘庫,該庫接受一些導入時間參數。如: Library SeleniumLibrary
RF----經常使用關鍵字:
關閉瀏覽器 close Browser 或close All Browsers
瀏覽器最大化 Maximize Browser Window
設置瀏覽器窗口 寬、高 Set Window Size 800 600
點擊元素 Click Element xpath=//*[@]
點擊按鈕 Click Button xpath=//*[@]
等待元素出現 Wait Unit Page Contains Element xpath=//*[@] 42 error
獲取title Get Title
獲取文本 Get Text xpath=//*[@] xxxx
獲取元素屬性值 Get Element Attribute id=kw@name
cookie處理:get cookies 得到當前瀏覽器的全部cookie
get cookie value Key_name --------- 得到cookie值,key_name表示一堆cookie中的key的name
add cookie Key_name Value_name ---------- 添加一對cookie
delete cookie Key_name ------------ 刪除key爲name的cookie信息
delete all cookies ----------- 刪除電氣概念瀏覽器全部的cookie
表單嵌套:Select Frame xpath=//*[@] ---------- 進入表單
Unselect Frame ----------- 退出表單
下拉框選擇:Unselect From List By Value xpath=//*[@] value
注意:xpath=//*[@] 定位下拉框;value是選中下拉框裏的屬性值
執行javascript:Execute JavaScript ${"tootip"}.fadeOut()