本學習筆記出自:https://blog.csdn.net/huilan_same/article/details/76572411
目錄
思考:我們需要一個什麼樣的框架
既然要搭一個框架,我們首先得弄明白我們需要一個什麼樣的框架,這個框架要支持什麼功能?
框架主要的作用就是幫助我們編寫更簡單並且好維護的用例。我們需要把所有除測試用例以外的東西抽象出來作爲框架的部分。
那麼,額外的東西是什麼?
- 日誌以及報告
- 日誌級別、URL、瀏覽器類型等基本配置
- 參數化
- 公共方法
搭建框架目錄結構
現在我們很容易就把框架的結構搭建好了:
Test_framework
|--config(配置文件)
|--data(數據文件)
|--log(日誌)
|--drivers(驅動)
|--report(報告)
|--test(測試用例)
|--utils(公共方法)
|--readme.md(說明文件,方便團隊其他成員使用及維護)
配置文件
在config文件夾中創建config.yml文件,在utils裏創建一個config.py文件讀取配置,內容暫且不管。
簡單的對之後幾篇學習的內容勾畫一下
1.首先把配置抽出來,用yaml文件放配置。所以我們要在config層添加配置文件config.yml,在utils層添加file_reader.py與config.py來管理。
2.然後我們將python自帶的logging模塊封裝了一下,從配置文件讀取並設置固定的logger.在utils中創建了log.py.
3.封裝xlrd模塊,讀取excel,實現用例的參數化。
4.生成HTML測試報告,這個原博主修改了網上原有的HTMLTestRunner,改爲中文並梅花,然後修改其支持python3.可以直接拿去用。
5.然後給框架添加了發送郵件報告的能力。在utils中添加了mail.py。
6.然後將測試用例用Page-Object思想進行封裝,進一步劃分test層的子層。
7.加下來爲了接口測試封裝client類。在utils中添加了client.py.
8.然後添加了一個簡單的自定義斷言,在utils中添加了assertion.py,可用同樣的方法自行擴展。
9.爲了抽取相應結果,用JMESPath封裝Extractor,在utils中添加extractor.py
10.生成器。自動生成固有類型的測試數據。utils下創建了generator.py
11.最後爲了一些項目中的支持方法,如加密、簽名等,創建支持庫support.py。
整個流程下來我們一個簡單的框架就像模像樣了,在此基礎上可繼續完善,實際用在項目中也沒有什麼問題,再簡單結合Jenkins部署起來,定期或每次代碼提交後可自動運行測試,直接把測試報告發送到項目成員手中。