測試自動化框架之關鍵字驅動框架詳解


什么是關鍵字驅動框架?

   關鍵字驅動框架是一種功能自動化測試框架,它也被稱為表格驅動測試或者基於動作字的測試。關鍵字驅動的框架的基本工作是將測試用例分成四個不同的部分。

首先是測試步驟(Test Step),二是測試步驟中的對象(Test Object),三是測試對象執行的動作(Action),四是測試對象需要的數據(Test Data)。

以上四個部分,都可以使用Excel表格進行維護:

Test Step:是一個小的測試步驟的描述或者測試對象的一個操作說明。

Test Object:是指頁面對象或元素,就像用戶名、密碼,

Action:指頁面操作的動作,打開瀏覽器,點擊一個按鈕,文本框輸入一串文本等。

Test Data:是任何對象操作時所需要的值,就像用戶名、密碼進行輸入時的輸入內容。

其實我們做關鍵字的驅動的思想,就是把編碼從測試用例和測試步驟中分離出來,這樣對於不會編碼的人員更容易理解自動化,從而讓手工測試人員也可以編寫自動腳本。(這並不意味這不需要自動化測試人員,對於自動化框架的構建,自動化代碼的更新,結構調整等都需要一個技術性的人員)對於測試小的項目的團隊,可以有兩個手工測試人員和一個自動化測試人員。

通過一個簡單的登錄功能例子來理解這個概念,想想看你的自動化流程需要做哪些事情:

  1. 打開一個瀏覽器

  2. 輸入url跳轉到網站首頁

  3. 點擊“登錄”鏈接,進入登錄頁面

  4. 輸入“用戶名”

  5. 輸入“密碼”

  6. 點擊“登錄”按鈕,進行登錄

  7. 點擊“注銷”按鈕,退出登錄

  8. 關閉瀏覽器 

下面是我們將要去實現的一些通用組件:

  1. Excel Sheet: 是我們存放測試用例(Test Case)、測試步驟(Test Step)、測試對象(Test Object)和操作動作(Action)的關鍵字驅動數據表。

  2. Object Repository: 是個屬性文件,用來存放HTML應用中的一些元素屬性(可看做元素的對象倉庫),該文件與測試對象進行鏈接。

  3. Keyword Function Library: 這是一個方法庫文件,這個組件在關鍵字驅動框架中起着很重要的作用,它主要存放執行的Action,每一個操作動作都可以從這個文件中調用。

  4. Data Sheet: Excel表格存儲,測試對象在執行操作時所需要的數據值。

  5. 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獲取到執行測試步驟所需的所有信息,他就會連接應用程序執行步驟)

優勢:

  1. 不需要太多的技術:一旦框架建立,手工測試人員和非技術人員都可以很容易的編寫自動化測試腳本。

  2. 簡單易懂:它存在Excel表格中,沒有編碼,測試腳本容易閱讀和理解。關鍵字和操作行為這樣的手工測試用例,使它變得更容易編寫和維護。

  3. 早期介入:可以在應用未提交測試之前,就可以建立關鍵字驅動測試用例對象庫,從而減少后期工作。使用需求和其它相關文檔進行收集信息,關鍵字數據表可以建立手工測試程序。

  4. 組件的重用性:實施關鍵字驅動的模塊化,進一步提高可重用性。

  5. 代碼的重用性:作為關鍵字驅動框架中,只有一個執行引擎,它是鼓勵極端的代碼的復用。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM