Robot Framework-用戶關鍵字的使用方法(6)


【轉載】https://blog.csdn.net/boomjane_testingblog/article/details/51821819

在進行軟件自動化測試時,我們設計並編寫好一個測試腳本的業務邏輯之后,需要將其中的“業務數據”提取為變量,並對業務邏輯進行封裝(數據與邏輯分離嗎,以便在后續的測試過程中,只需設置每次測試的測試數據,而不必更改業務邏輯。


舉個例子,通過百度搜索不同的內容,我們的業務邏輯是:

[打開瀏覽器] - [輸入搜索內容] - [點擊搜索按鈕]  - [關閉瀏覽器]

“業務數據”對應的就是我們所輸入的“搜索內容”
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下面看一下實際操作步驟:
1.建立資源Resource

在導航樹中的項目節點點擊鼠標右鍵,選擇【New Resource】,打開新建Resource的對話框,填寫Resource名稱“業務關鍵字”

2.建立關鍵字User Keyword

在剛剛建立的【業務關鍵字】節點點擊右鍵,選擇【New User Keywod】

3.為關鍵字添加變量

點擊【百度搜索】節點,展開編輯面板的【Settings】配置,點擊Arguments的【edit】按鈕,添加變量${searchword}|${result}

備注:這兩個變量在這里一個代表搜索內容,一個代表預期結果。多個變量間用“|”分隔

4.為“業務關鍵字”設計業務邏輯

需要注意一下的是,這里的關鍵字可以理解為一個“函數”的概念,我們需要在TestCase中調用的是這個“關鍵字”。我們剛剛添加的變量是“關鍵字”的一部分,在TestCase中體現為具體的業務數據。

選中“業務關鍵字”下面的“百度搜索”,添加業務邏輯為:
    Open Browser     https://www.baidu.com/    ff
    Input Text              id=kw                                   ${searchword}
    Click button          id=su
    Sleep    2
    ${title}                    Get Title
    Should Contain    ${title}                                  ${result}
    Capture Page Screenshot    ff.png
    Close Browser

其中,${searchword}和${result}表示我們的關鍵字在被TestCase調用時,傳入的數據。而${title}則是作為一個中間過程的臨時變量進行使用。

 

5.使用關鍵字,首先為TestSuite添加Resource

選中“TestSuite”結點,點擊右側窗口中的“Resource”按鈕,在“Path”框中輸入“業務關鍵字”(注意路徑:我這兒是平級目錄可以直接引用),點擊“ok”按鈕。便將我們創建的關鍵字引入。

6.編寫TestCase

添加一個TestCase,在Edit選項卡下的表格中添加我們剛剛定義的關鍵字,如下:

百度搜索      Robot Framework    Robot Framework_百度搜索

百度搜索     Selenium    Selenium_百度搜索

  路徑引用正確,此處關鍵字才能被識別到,顯示為藍色字體。

7.運行測試,獲取測試結果

第一輪是輸入Robot Framework進行搜索,並檢查預期結果

第二輪是輸入Selenium進行搜索,並檢查預期結果

 

總結:
RobotFrame Work 中的Resource 及關鍵字給我們提供的是一種類似於“函數”概念的用戶自定義機制。我們可以將一些通用的業務過程封裝為一個關鍵字,並聲明業務中的業務數據。在編寫測試用例時,直接調用關鍵字,設置業務數據即可。而一旦業務過程發生變化,或元素定位發生變化,我們只需要更改關鍵字中的業務邏輯即可,而不必更改每個測試用例。
---------------------
原文:https://blog.csdn.net/boomjane_testingblog/article/details/51821819


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM