RF之簡介

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()             

相關文章
相關標籤/搜索