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

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

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

 

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

 

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

 

Robot  Framework 關鍵字                      

 

1、創建資源

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

輸入資源名稱:

 

 

 

2、創建關鍵字

右鍵“業務關鍵字”選擇“new User Keyword” 來創建用戶關鍵字。

 

 輸入關鍵字的名稱:

 

 

 

3編輯關鍵字

 

分析:

對於一個測試用例來說,用戶關心的是輸入什麼內容,得到什麼結果。

所以,對於“百度搜索”關鍵字來說,需要創建兩個接口變量${search}${result} 兩個變量,用於接收輸入內容和預期結果。

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

 

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

 

 

 

4、添加創建的資源

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

 

 

5、調用關鍵字

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

 

 

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

 

 

繼續分層的設計:

 

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章