Python selenium自動化測試模型圖解
1、線性測試
優勢:每一個指令碼都是完整獨立的,每一個指令碼對應一個測試用例
缺點:開發成本高,會有重複操作重複指令碼;維護成本也高,修改重複操作的指令碼時,要逐一進行修改。
2、模組化驅動測試
把重複的操作獨立成公共模組,當用例執行中需要這一模組操作時呼叫,這樣最大限度的消除重複,提高測試用例的可維護性。
解決了線性測試的兩個問題:
(1)提高了開發效率
(2)簡化了維護複雜性
缺點:在資料會改變的情況下,會加大編寫重複的指令碼(比如現在我要測試不同使用者登入的場景,先是張三登入,登入完後換李四登入,然後繼續換使用者登入,這樣會有重複的登入指令碼,雖然登入的步驟一樣,但是登入的資料不一樣)
寫一個類,將登入的函式包裝起來
然後寫個主程式呼叫登入的函式
3、資料驅動測試
資料驅動是資料的引數化,因為輸入資料的不痛而引起輸出結果的不同;比如定義的陣列、字典、或者是外部檔案(Excel、csv、txt、xml等)都可以看做是資料驅動,目的就是實現資料與指令碼的分離。
優點:進一步增強了指令碼的複用性。
(1)通過引數化來實現資料驅動
將要輸入的值當做一個引數來進行傳入,實現根據資料輸入的不同而有不同的執行結果
登入的函式以傳參的方式封裝
然後主方法中呼叫該方法,傳入不同的引數
(2)引數化搜尋關鍵字
將要搜尋的關鍵字定義為一組陣列,然後通過迴圈的方式進行搜尋,搜尋的關鍵字不一樣測試結果也不一樣。
(3)讀取txt檔案
Python中提供了幾種讀取txt檔案的方式:
read():讀取整個檔案
readline():讀取一行資料
readlines():讀取所有行的資料
(4)讀取csv檔案
(5)讀取xml檔案
parse():開啟xml檔案
documentElement:用於得到xml檔案唯一的根元素
nodeName:節點名稱
nodeValue:節點值
nodeType:節點型別
ELEMENT_NODE:元素節點型別
getElementsByTagName:可以通過標籤名獲取標籤,獲取的物件以陣列的形式儲存
getAttribute():用於獲取元素的屬性值,與webdriver中的get_attribute()類似
firstChild:屬性返回被選節點的第一個子節點
data:表示獲取該節點的資料,與webdriver中的text方法類似
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。