基於PO模式和單例模式的Python+Selenium UI自動化框架設計【多測師】


一、創建一個project、每個包的分層如下:

upfile1575590824609.png

最終的框架結構:
 


二、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表示關閉
在后台數據庫可以直接關閉'''


免責聲明!

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



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