Python selenium自動化測試模型圖解
1、線性測試
優(yōu)勢:每一個腳本都是完整獨立的,每一個腳本對應一個測試用例
缺點:開發(fā)成本高,會有重復操作重復腳本;維護成本也高,修改重復操作的腳本時,要逐一進行修改。
2、模塊化驅(qū)動測試
把重復的操作獨立成公共模塊,當用例執(zhí)行中需要這一模塊操作時調(diào)用,這樣最大限度的消除重復,提高測試用例的可維護性。
解決了線性測試的兩個問題:
(1)提高了開發(fā)效率
(2)簡化了維護復雜性
缺點:在數(shù)據(jù)會改變的情況下,會加大編寫重復的腳本(比如現(xiàn)在我要測試不同用戶登錄的場景,先是張三登錄,登錄完后換李四登錄,然后繼續(xù)換用戶登錄,這樣會有重復的登錄腳本,雖然登錄的步驟一樣,但是登錄的數(shù)據(jù)不一樣)
寫一個類,將登錄的函數(shù)包裝起來
然后寫個主程序調(diào)用登錄的函數(shù)
3、數(shù)據(jù)驅(qū)動測試
數(shù)據(jù)驅(qū)動是數(shù)據(jù)的參數(shù)化,因為輸入數(shù)據(jù)的不痛而引起輸出結(jié)果的不同;比如定義的數(shù)組、字典、或者是外部文件(Excel、csv、txt、xml等)都可以看做是數(shù)據(jù)驅(qū)動,目的就是實現(xiàn)數(shù)據(jù)與腳本的分離。
優(yōu)點:進一步增強了腳本的復用性。
(1)通過參數(shù)化來實現(xiàn)數(shù)據(jù)驅(qū)動
將要輸入的值當做一個參數(shù)來進行傳入,實現(xiàn)根據(jù)數(shù)據(jù)輸入的不同而有不同的執(zhí)行結(jié)果
登錄的函數(shù)以傳參的方式封裝
然后主方法中調(diào)用該方法,傳入不同的參數(shù)
(2)參數(shù)化搜索關鍵字
將要搜索的關鍵字定義為一組數(shù)組,然后通過循環(huán)的方式進行搜索,搜索的關鍵字不一樣測試結(jié)果也不一樣。
(3)讀取txt文件
Python中提供了幾種讀取txt文件的方式:
read():讀取整個文件
readline():讀取一行數(shù)據(jù)
readlines():讀取所有行的數(shù)據(jù)
(4)讀取csv文件
(5)讀取xml文件
parse():打開xml文件
documentElement:用于得到xml文件唯一的根元素
nodeName:節(jié)點名稱
nodeValue:節(jié)點值
nodeType:節(jié)點類型
ELEMENT_NODE:元素節(jié)點類型
getElementsByTagName:可以通過標簽名獲取標簽,獲取的對象以數(shù)組的形式存儲
getAttribute():用于獲取元素的屬性值,與webdriver中的get_attribute()類似
firstChild:屬性返回被選節(jié)點的第一個子節(jié)點
data:表示獲取該節(jié)點的數(shù)據(jù),與webdriver中的text方法類似
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關文章:
