UI自動化在RobotFramework中採用的分層設計

CQUqinghua發表於2021-06-15

RF測試資料

 RF測試資料由4種表資料組成。這些測試資料由表的第一個單元格標識,名稱和用法如下:

表名

用法

別名

設定表

匯入測試庫,資原始檔和變數檔案。為測試套件和測試用例定義後設資料

Setting settings metadata

變數表

定義可在測試用例中其他位置使用的變數

Variable variables

用例表

測試用例

Test Case

關鍵字表

從現有的低階別關鍵字建立使用者關鍵字

Keyword  User Keyword

 

      其中,分層思想直接體現在關鍵字表和用例表。

      RF分層設計模式其實就是根據需求使用抽象與封裝關鍵,把一個實現過程分成不同多層。把程式碼根據指令碼特徵拆封開來,提高程式碼的靈活性和清晰度,從而也讓一些元件層內容可擴充套件、可複用、可維護。這種設計基於RF的關鍵字驅動。

  具體的做法就是:通過呼叫的關鍵字不同,從而引起測試結果的不同。“關鍵字”的底層其實還是程式定義的方法。我們可以把操作步驟封裝一個一個的方法(關鍵字),通過呼叫關鍵字來實現測試用例。

      RF分層可大致分為 元素層、元件層、流程層,用例層四層。當然可以根據專案實際應用採取減少層次或者增加層次,核心設計思想就是覆蓋測試流程的基礎上增加程式碼的複用程度,減少重複程式碼量。

    以測試頁面登陸為例子:

   元素層:

   將測試過程中用到的變數等的資料元素集中在這裡。如果需要修改測試的基礎資料,例如定位的元素等。這裡採用定義變數和使用者關鍵字均可。如果元素有變動,修改起來很方便。

 

 

  元件層:

   頁面上的功能元件操作的封裝。建立之前應先匯入元素層的資源。除了個別流程的獨有操作,這一層應該實現操作步驟的細化封裝,例如登陸頁面的操作有:開啟網址、輸入使用者名稱、輸入密碼、點選登陸按鈕等。每一個動作都可以拆分,形成獨立的關鍵字。

 

 

流程層:

    元件層基礎上的進一步封裝。要求能覆蓋掉所有的測試流程,同時兼顧用例中輸入的靈活性。

 

 

用例層:

   測試用例執行。經過業務流程層的拼裝,可以像寫列表一樣編寫測試用例。

 

   封裝的資源資料流轉順序如下:

 

相關文章