一、建立一個project、每個包的分層如下:
最終的架構結構:
二、config包中建立一個config.ini主要用于存儲目前項目的絕對路徑,[project]表示section節點 project_path表示option
globalconfig裡面首先通過ReadConfigIni這個類建立一個對象,用對象調用執行個體方法getConfigValue讀取ini檔案裡面的
section和option來擷取project_path對應的value,進而可以擷取到項目的絕對路徑
作用:
1、可以把項目的絕對路徑設定為一個常量
2、可以通過項目路徑拼接report、Data和TestCase的路徑來擷取報告、資料和測試用例的路徑、這個可以為後面的跑測試用例
打下基礎。
三、Data包當中下面有一個data.xlsx檔案、這個檔案主要用于存放需要被測對象的url位址和賬号密碼資訊等等,都可以通過xlrd子產品來進去讀取
四、DoExcel.py這個子產品當中實作的主要是用來讀取上面data.xlsx這個檔案内容的,首先要引入一個子產品xlrd這個子產品可以在dos視窗通過pip install xlrd來進行安裝
可以通過xlrd.open_workbook打開一個Excel檔案,然後通過 sheet_by_name方法來打開具體的哪個sheet檔案
然後通過cell方法去擷取對應行和列的value值
五、ReadConfigIni子產品主要是用來讀取ini格式結尾的檔案的,通過section節點和option來擷取對應的value值
六、建立一個BasePage子產品主要是封裝所有頁面的公共類,然後建立driver對象,這個driver對象而且是單例的并且把
元素定位方式也封裝了一遍這是為後面的PO設計模式做準備
七、Place_Order子產品封裝的是登入的整個流程、用到了PO設計模式
PO的意思就是page object頁面對象模型
1、所有目前頁面的元素都是目前頁面對象的屬性
2、優點就是元素定位容易修改
3、缺點就是代碼量過多
4、這裡隻舉了一個小例子、如果元素定位比較多的話需要單獨封裝在一個類當中
八、TestCase層開始編寫測試用例、繼承unittest.TestCase類
unittest單元測試架構是用來管理群組織測試用例的
可以按照類開始=》方法開始=》函數體=》方法結束=》類結束的步驟運作測試用例
九、run_all子產品裡面主要封裝了自動搜尋用例、并且通過runner對象運作測試用例并且生成測試報告
還封裝了發送郵件的方法
十、mail子產品當中主要封裝了發送郵件的類和方法、可以把生成的報告以附件和HTML格式發送到規定的郵箱中
十一、架構的總結:
'''
架構總結
優點:
1.層次分明
2.子產品化
3.降低耦合性
4.易于維護 -- 元素定位修改比較友善
5.代碼複用性大 -- 登入方法可以重複使用
缺點:
1.比較繁瑣,代碼量比較多
2.方法調用比較多,出現問題比較難定位'''
'''
對于驗證碼的處理1.開發會給一個萬能的驗證碼
2.背景資料庫對驗證碼會進行配置項管理 Y表示打開 N表示關閉