什么是關鍵字驅動框架?
關鍵字驅動框架是一種功能自動化測試框架,它也被稱為表格驅動測試或者基於動作字的測試。關鍵字驅動的框架的基本工作是將測試用例分成四個不同的部分。
首先是測試步驟(Test Step),二是測試步驟中的對象(Test Object),三是測試對象執行的動作(Action),四是測試對象需要的數據(Test Data)。
以上四個部分,都可以使用Excel表格進行維護:
Test Step:是一個小的測試步驟的描述或者測試對象的一個操作說明。
Test Object:是指頁面對象或元素,就像用戶名、密碼,
Action:指頁面操作的動作,打開瀏覽器,點擊一個按鈕,文本框輸入一串文本等。
Test Data:是任何對象操作時所需要的值,就像用戶名、密碼進行輸入時的輸入內容。
其實我們做關鍵字的驅動的思想,就是把編碼從測試用例和測試步驟中分離出來,這樣對於不會編碼的人員更容易理解自動化,從而讓手工測試人員也可以編寫自動腳本。(這並不意味這不需要自動化測試人員,對於自動化框架的構建,自動化代碼的更新,結構調整等都需要一個技術性的人員)對於測試小的項目的團隊,可以有兩個手工測試人員和一個自動化測試人員。
通過一個簡單的登錄功能例子來理解這個概念,想想看你的自動化流程需要做哪些事情:
-
打開一個瀏覽器
-
輸入url跳轉到網站首頁
-
點擊“登錄”鏈接,進入登錄頁面
-
輸入“用戶名”
-
輸入“密碼”
-
點擊“登錄”按鈕,進行登錄
-
點擊“注銷”按鈕,退出登錄
-
關閉瀏覽器
下面是我們將要去實現的一些通用組件:
-
Excel Sheet: 是我們存放測試用例(Test Case)、測試步驟(Test Step)、測試對象(Test Object)和操作動作(Action)的關鍵字驅動數據表。
-
Object Repository: 是個屬性文件,用來存放HTML應用中的一些元素屬性(可看做元素的對象倉庫),該文件與測試對象進行鏈接。
-
Keyword Function Library: 這是一個方法庫文件,這個組件在關鍵字驅動框架中起着很重要的作用,它主要存放執行的Action,每一個操作動作都可以從這個文件中調用。
-
Data Sheet: Excel表格存儲,測試對象在執行操作時所需要的數據值。
-
Execution Engine: 是唯一的測試腳本,它包含了所有的代碼,通過關鍵字框架從Excel表格、方法庫、屬性文件中進行推動測試。
下面圖片展示了關鍵字框架的通用工作流程:
一般的關鍵字驅動工作流程大概都是這個樣子的
-
Execution Engine starts the test and connect with the bundle of test cases and start executing one by one
(使用 Execution Engine 啟動測試用例包,啟動一個執行一個。)
-
Once Test Case is picked, linked test steps are followed sequentially
(一旦測試用例被選中,就會鏈接測試步驟順序執行)
-
Test Steps are further connected with Page Objects, Actions & Test Data
(測試步驟會進一步鏈接頁面對象,操作動作和測試數據)
-
Once Execution Engine gets all the required info to perform a test step, it connects with application and do the step.
(一旦Execution Engine獲取到執行測試步驟所需的所有信息,他就會連接應用程序執行步驟)
優勢:
-
不需要太多的技術:一旦框架建立,手工測試人員和非技術人員都可以很容易的編寫自動化測試腳本。
-
簡單易懂:它存在Excel表格中,沒有編碼,測試腳本容易閱讀和理解。關鍵字和操作行為這樣的手工測試用例,使它變得更容易編寫和維護。
-
早期介入:可以在應用未提交測試之前,就可以建立關鍵字驅動測試用例對象庫,從而減少后期工作。使用需求和其它相關文檔進行收集信息,關鍵字數據表可以建立手工測試程序。
-
組件的重用性:實施關鍵字驅動的模塊化,進一步提高可重用性。
-
代碼的重用性:作為關鍵字驅動框架中,只有一個執行引擎,它是鼓勵極端的代碼的復用。