1. 程式人生 > 程式設計 >Python selenium自動化測試模型圖解

Python selenium自動化測試模型圖解

1、線性測試

優勢:每一個指令碼都是完整獨立的,每一個指令碼對應一個測試用例

缺點:開發成本高,會有重複操作重複指令碼;維護成本也高,修改重複操作的指令碼時,要逐一進行修改。

2、模組化驅動測試

把重複的操作獨立成公共模組,當用例執行中需要這一模組操作時呼叫,這樣最大限度的消除重複,提高測試用例的可維護性。

解決了線性測試的兩個問題:

(1)提高了開發效率

(2)簡化了維護複雜性

缺點:在資料會改變的情況下,會加大編寫重複的指令碼(比如現在我要測試不同使用者登入的場景,先是張三登入,登入完後換李四登入,然後繼續換使用者登入,這樣會有重複的登入指令碼,雖然登入的步驟一樣,但是登入的資料不一樣)

寫一個類,將登入的函式包裝起來

Python selenium自動化測試模型圖解

然後寫個主程式呼叫登入的函式

Python selenium自動化測試模型圖解

3、資料驅動測試

資料驅動是資料的引數化,因為輸入資料的不痛而引起輸出結果的不同;比如定義的陣列、字典、或者是外部檔案(Excel、csv、txt、xml等)都可以看做是資料驅動,目的就是實現資料與指令碼的分離。

優點:進一步增強了指令碼的複用性。

(1)通過引數化來實現資料驅動

將要輸入的值當做一個引數來進行傳入,實現根據資料輸入的不同而有不同的執行結果

登入的函式以傳參的方式封裝

Python selenium自動化測試模型圖解

然後主方法中呼叫該方法,傳入不同的引數

Python selenium自動化測試模型圖解

(2)引數化搜尋關鍵字

將要搜尋的關鍵字定義為一組陣列,然後通過迴圈的方式進行搜尋,搜尋的關鍵字不一樣測試結果也不一樣。

Python selenium自動化測試模型圖解

(3)讀取txt檔案

Python中提供了幾種讀取txt檔案的方式:

read():讀取整個檔案

readline():讀取一行資料

readlines():讀取所有行的資料

Python selenium自動化測試模型圖解

Python selenium自動化測試模型圖解

(4)讀取csv檔案

(5)讀取xml檔案

parse():開啟xml檔案

documentElement:用於得到xml檔案唯一的根元素

nodeName:節點名稱

nodeValue:節點值

nodeType:節點型別

ELEMENT_NODE:元素節點型別

getElementsByTagName:可以通過標籤名獲取標籤,獲取的物件以陣列的形式儲存

getAttribute():用於獲取元素的屬性值,與webdriver中的get_attribute()類似

firstChild:屬性返回被選節點的第一個子節點

data:表示獲取該節點的資料,與webdriver中的text方法類似

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。