1. 程式人生 > 其它 >robotframwork業務流程和資料分層實現

robotframwork業務流程和資料分層實現

1、關鍵字驅動:

robotframwork自動化測試主要使用關鍵字驅動實現編寫業務流程,即通過呼叫的關鍵字不同,從而引起測試結果的不同。我們可以把操作步驟封裝一個一個的方法(關鍵字),通過呼叫關鍵字來實現測試用例。

如“open browser” 就是一個關鍵字,從底層去看它就是一個通過程式設計去現實的一個方法。

 

 2、分層思想:

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

未引入分層思想之前,百度搜索3種不同內容需要寫3條用例,其實對於每一條測試用例來說,只是搜尋的內容不同,指令碼步驟是完全一樣的。這樣做無疑增加的指令碼的冗餘,而且不便於維護。假如,百度輸入框的定位方式變了,我不得不開啟每一條用例進行修改。我們可以過建立關鍵字的方式,從而實現分層的思想來解決這個問題。

 

 

 

3、分層例項:

以下使用百度搜索場景進行分層思想例項展示,具體分為業務關鍵字封裝、業務操作流程封裝、測試資料檔案讀取和測試用例編寫4個部分。

1)建立資源:

右鍵“測試專案”選擇“new resource”建立資源。

 

 輸入資源名稱:

 

 

2)建立業務關鍵字:

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

 

 輸入關鍵字的名稱:

 

 可以針對具體的業務場景進行關鍵字封裝,本次將開啟瀏覽器、最大化瀏覽器、百度關鍵字查詢、頁面等待和關閉瀏覽器進行封裝如下:

 

 

3)資料和業務操作分離:

如下圖中業務操作流程用例中會包含元素定位引數和輸入引數,這部分內容可以維護在excel中,然後業務流程中進行讀取,後續如果頁面變更導致定位方式發生改變,則只需修改excel檔案,無需變更程式碼。

 

 

建立一個test.xls檔案進行定位元素和輸入引數儲存,結構如下:

 

 此時業務關鍵字可以將定位方式修改為讀取test.xls檔案中具體的定位元素,輸入引數可以讀取excel,也可通過測試用例中傳參實現。robotframework通過excellibrary讀取excel,具體使用

可參考:https://www.cnblogs.com/kaka00311/p/16099758.html

 

 

4)建立業務操作流程:
建立業務操作流程是通過前面介紹的部署1)和2)中新建資源kakaflow、新建關鍵字百度搜索,通過匯入業務關鍵字.txt來引用業務關鍵字內容

 

 百度搜索關鍵字將業務關鍵字的各流程彙總,關鍵字查詢中可以通過在Arguments中新增變數${keyword}來靈活傳參,如果流程中有多個變數值,多個變數使用“|”隔開。

 

 5、建立測試用例:

建立資源kakasuit,選擇“New Test  Case” 來建立測試用例。

 

 測試用例基於業務流程關鍵字+不同搜尋內容組成,需匯入kakaflow.txt的Resource包。

 

搜尋不同的內容可以通過傳入不同傳參來實現。

 

 

 到此,RobotFramework +selenium 自動化測試粗獷的講完了,我們可以拿它來開展自動化工作了。