自動化測試框架設計完成後,測試工程師將實現該框架。本文使用Python語句爲例,介紹上述框架的實現過程與結果。
1.ECShop框架工程
啓動PyCharm,點擊“File”-“New Project”,進入創建工程界面,如圖1。
圖1創建ECShop工程包
Location輸入工程名稱即可。
2.common
將測試框架過程中可能需要用到的功能單獨設計爲公共函數,存放在common目錄中,避免代碼設計冗餘。common目錄創建時使用“Python Package”,不使用“Directory”。
Python Package:存放腳本類資源文件,便於其他腳本調用其中的函數功能。創建該類型目錄時,會自動生成空文件__init__.py。
Directory:存放資源類文件,一般不涉及腳本文件。
(1)選中 “ecshop” 工程名稱,右鍵,“New”- “Python Package”,出現圖2。
圖2創建Python Package
(2)輸入 Package 名稱,如“common”,點擊【OK】完成創建。
common目錄中根據敏捷開發團隊的自動化測試框架設置,主要包含配置文檔讀取函數、瀏覽器啓動函數、截圖函數、日誌生成函數、獲取URL函數、HTML報告輸出函數等。
1)配置文檔讀取函數
函數文件名:readconfig.py。將測試過程中需要的基本信息,利用ini格式的文件保存,根據框架需要加載對應數據,該函數可擴展,本次項目並未涉及,讀者可自行調整。示例代碼如下:
2)截圖函數
函數文件名:cappic.py。如有需要,可將測試過程中需截圖的地方截圖,便於後期的缺陷、問題定位。代碼如下:
3)日誌生成函數
函數文件名:loggen.py。將執行過程中需監控的步驟通過日誌輸出的方法,保存在工程目錄下的logs中。代碼如下:
4)獲取URL函數
函數文件名:geturl.py。因ECShop登陸、註冊功能頁面不在主頁面,需調整到特定頁面,因此需將URL提取出再根據需要組合。提取URL前綴代碼如下:
5)HTML報告輸出函數
函數文件名:HTMLTestRunner.py。如有需要,可集成HTML報告輸出函數,將測試結果以HTML格式輸出,讀者可自行下載HTML報告處理函數HTMLTestRunner.py,添加在common目錄下。
3.config
config目錄創建時選擇“Directory”格式,該目錄存放配置文件,配置文件名稱與readconfig函數中讀取的文件名稱一致,如config.ini,文件內容如下:
4.data
data目錄創建時選擇“Directory”格式,測試執行時所需的文件存放在此處,本次測試主要包括用戶註冊、用戶登陸及測試集設計文件,均以EXCEL格式保存。
用戶註冊測試場景文件,名稱userregister.xlsx,其內容如表1所示。
表1用戶註冊用例文件
用戶註冊測試場景文件是由多個測試用例組成,測試用例則由多個測試動作組成,測試用例表格有4列構成。
Page:表示當前測試步驟操作是在哪個頁面執行,比如登陸是在loginpage中執行,對應的是Webdriver腳本中實現的Pageo Oject。
Step:對應到代碼中是對象。
Data:代表將要用到在測試對象上的測試數據。
用戶登陸測試場景文件,名稱login.xlsx,其內容如表2所示。
表2用戶登陸測試用例文件
所有測試業務是否執行測試,框架設計了一個集中處理的EXCEL配置文件testsuite.xlsx,如表 3所示。
表 3測試集配置文件
testsuite.xlsx保存在框架文件data文件夾下,表格由三列組成,第一列表示序號,無意義,第二列是腳本執行參數,控制是否執行對應的測試場景文件,“do”執行,“not”則不執行,測試場景文件login和userregister保存在框架文件夾的data目錄下。
5.logs
logs目錄創建時選擇“Directory”格式,保存測試執行時所記錄的日誌文件。