天天看點

Robot Framework自動化測試(四)--- 分層思想

談到Robot  Framework 分層的思想,就不得不提“關鍵字驅動”。

關鍵字驅動: 通過調用的關鍵字不同,進而引起測試結果的不同。

在上一節的selenium API 中所介紹的方法其實就是關鍵字,如“open browser” 就是一個關鍵字。從底層去看它就是一個通過程式設計去現實的一個方法。

def  open_browser(url,browser):
     #通過browser找到相應的浏覽器驅動,調用浏覽器,借助python的httplib、urllib子產品将url傳遞給浏覽器。進而實作open brwoser 的目的。      

通過上面的僞代碼表述的“關鍵字”的底層其實還是程式定義的方法。

  回到分層的思想上,在程式設計的講究設計模式,設計模式其實就是根據需求使用抽象與封裝,其實就是分層思想。把一個實作過程分成不同多層。提高的靈活性,進而達到可擴充性和可維護性。

  再回到自動化的話題上,我們可以把操作步驟封裝一個一個的方法(關鍵字),通過調用關鍵字來實作測試用例。

http://www.cnblogs.com/fnng/p/3871712.html

參考本系列的第一節建立一條百度搜尋的測試用例。

Robot Framework自動化測試(四)--- 分層思想

我現在要寫5條百度搜尋的用例:

Robot Framework自動化測試(四)--- 分層思想

   可以在Search測試套件下建立5條測試用例。其實對于每一條測試用例來說,隻是搜尋的内容不同,腳本步驟是完全一樣的。這樣做無疑增加的腳本的備援,而且不便于維護。假如,百度輸入框的定位方式變了,我不得不打開每一條用例進行修改。

我們可以過建立關鍵字的方式,進而實作分層的思想來解決這個問題。

關鍵字                      

1、建立資源

右鍵“測試項目”選擇“new resource”建立資源。

Robot Framework自動化測試(四)--- 分層思想

輸入資源名稱:

Robot Framework自動化測試(四)--- 分層思想

2、建立關鍵字

右鍵“業務關鍵字”選擇“new User Keyword” 來建立使用者關鍵字。

Robot Framework自動化測試(四)--- 分層思想

 輸入關鍵字的名稱:

Robot Framework自動化測試(四)--- 分層思想

3、編輯關鍵字

Robot Framework自動化測試(四)--- 分層思想

分析:

對于一個測試用例來說,使用者關心的是輸入什麼内容,得到什麼結果。

是以,對于“百度搜尋”關鍵字來說,需要建立兩個接口變量${search}和${result} 兩個變量,用于接收輸入内容和預期結果。

點選Arguments輸入框,定義變量,多個變量從用“|”隔開。

在百度使用者中使用參數化變量。

Robot Framework自動化測試(四)--- 分層思想

4、添加建立的資源

切換到測試套件(Search)頁面,添加資源(業務關鍵字.txt)

Robot Framework自動化測試(四)--- 分層思想

5、調用關鍵字

現在就可以在測試用例中使用建立的關鍵字了(百度搜尋)。

Robot Framework自動化測試(四)--- 分層思想

對于每一條用例來說,調用“百度搜尋”關鍵字,輸入搜尋内容,輸入預期結果即可。不同關心用例是如何執行的。如果百度輸入框的定位發生了變化,隻用去修改“百度搜尋”關鍵字即可,不用對每一條用例做任何修改。大大提高的用例的維護性和擴充性。

繼續分層的設計:

Robot Framework自動化測試(四)--- 分層思想

到此,Robot  Framework +selenium 自動化測試粗犷的講完了。當然還有更多API 的使用,和細枝末節的設定沒有介紹。但我們已經可以拿它來開展自動化工作了。