Python selenium自動化測試模型圖解
1、線性測試
優(yōu)勢:每一個腳本都是完整獨(dú)立的,每一個腳本對應(yīng)一個測試用例
缺點:開發(fā)成本高,會有重復(fù)操作重復(fù)腳本;維護(hù)成本也高,修改重復(fù)操作的腳本時,要逐一進(jìn)行修改。
2、模塊化驅(qū)動測試
把重復(fù)的操作獨(dú)立成公共模塊,當(dāng)用例執(zhí)行中需要這一模塊操作時調(diào)用,這樣最大限度的消除重復(fù),提高測試用例的可維護(hù)性。
解決了線性測試的兩個問題:
(1)提高了開發(fā)效率
(2)簡化了維護(hù)復(fù)雜性
缺點:在數(shù)據(jù)會改變的情況下,會加大編寫重復(fù)的腳本(比如現(xiàn)在我要測試不同用戶登錄的場景,先是張三登錄,登錄完后換李四登錄,然后繼續(xù)換用戶登錄,這樣會有重復(fù)的登錄腳本,雖然登錄的步驟一樣,但是登錄的數(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)點:進(jìn)一步增強(qiáng)了腳本的復(fù)用性。
(1)通過參數(shù)化來實現(xiàn)數(shù)據(jù)驅(qū)動
將要輸入的值當(dāng)做一個參數(shù)來進(jìn)行傳入,實現(xiàn)根據(jù)數(shù)據(jù)輸入的不同而有不同的執(zhí)行結(jié)果
登錄的函數(shù)以傳參的方式封裝

然后主方法中調(diào)用該方法,傳入不同的參數(shù)

(2)參數(shù)化搜索關(guān)鍵字
將要搜索的關(guān)鍵字定義為一組數(shù)組,然后通過循環(huán)的方式進(jìn)行搜索,搜索的關(guā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:可以通過標(biāo)簽名獲取標(biāo)簽,獲取的對象以數(shù)組的形式存儲
getAttribute():用于獲取元素的屬性值,與webdriver中的get_attribute()類似
firstChild:屬性返回被選節(jié)點的第一個子節(jié)點
data:表示獲取該節(jié)點的數(shù)據(jù),與webdriver中的text方法類似
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 詳解Android studio 動態(tài)fragment的用法2. Android如何加載Base64編碼格式圖片3. 解決Android studio xml界面無法預(yù)覽問題4. 圖文詳解vue中proto文件的函數(shù)調(diào)用5. 什么是python的自省6. Spring Boot和Thymeleaf整合結(jié)合JPA實現(xiàn)分頁效果(實例代碼)7. Vuex localStorage的具體使用8. php模擬實現(xiàn)斗地主發(fā)牌9. vue 使用localstorage實現(xiàn)面包屑的操作10. Vue封裝一個TodoList的案例與瀏覽器本地緩存的應(yīng)用實現(xiàn)

網(wǎng)公網(wǎng)安備