在《RobotFramwork + Python 自動化入門 一》中,完成了一個Robot環境搭建及測試指令碼的建立和執行。
在《RobotFramwork + Python 自動化入門 二》中,對RobotFramework的關鍵字使用和檢視原始碼進行了介紹。
在《RobotFramwork + Python 自動化入門 三》中,完成了web自動化指令碼開發的入門。
本節,介紹web自動化指令碼設計的進階。
一、新增Setup和Teardown
對於一些如準備資料、開啟瀏覽器的操作可以放到Setup中去,在測試用例開始執行之前會先執行Setup部分,完成環境準備。
對於一些如關閉瀏覽器、清除資料的操作可以放到Teardown中,在測試用例執行完成後(不論成功與否),都會執行teardown部分,完成環境清理。
如下圖:
1. 將開啟百度瀏覽器的操作封裝到關鍵字 ’Open Baidu Browser‘
2. 新增Test Setup 和 Test Teardown
從測試報告中,也可看出Setup最先執行,Teardown最後執行。
二、提取Locator和Data
在實際寫指令碼中,我們會將用到的所有Locator和測試資料提取到Variables區域中。
這樣,當locator或測試資料發生變化時,不需要逐一修改涉及到的測試指令碼,只需將該locator或測試資料對應的變數進行修改即可,實現了資料與測試用例的分離,
提高了測試指令碼的可維護性。
三、封裝關鍵字
開發測試指令碼時,可以按照測試用例的測試步驟將指令碼進行封裝,實現
一條測試步驟對應一個關鍵字,
一條預期結果對應一個關鍵字。
如下圖:
1. 將在輸入框中輸入搜尋詞,單擊搜尋按鈕的步驟封裝為一個關鍵字
2. 將驗證搜尋結果的步驟(預期結果)封裝為一個關鍵字
關鍵字引數
Documtation
新增關鍵字的文件說明,可以用來詳細描述該關鍵字的功能。
在執行報告介面,可以看到關鍵字的Documentation:
Arguments
關鍵字引數,這樣讓關鍵字變得更加通用,也是實現了資料和用例的分離。
Log To Console
Log To Console後面的內容 會在Console顯示,在封裝關鍵字時使用這個系統關鍵字,可以方便在eclipse中執行指令碼時檢視當前執行到哪一步。
Console的輸出: