自己怎么做VIP視頻解網(wǎng)站汕頭網(wǎng)站建設(shè)技術(shù)外包
前言
網(wǎng)盜概念相同的測(cè)試腳本使用不同的測(cè)試數(shù)據(jù)來(lái)執(zhí)行,測(cè)試數(shù)據(jù)和測(cè)試行為完全分離, 這樣的測(cè)試腳本設(shè)計(jì)模式稱(chēng)為數(shù)據(jù)驅(qū)動(dòng)。(網(wǎng)盜結(jié)束)當(dāng)我們測(cè)試某個(gè)網(wǎng)站的登錄功能時(shí),我們往往會(huì)使用不同的用戶(hù)名和密碼來(lái)驗(yàn)證登錄模塊對(duì)系統(tǒng)的影響,那么如果我們每一條數(shù)據(jù)都編寫(xiě)一條測(cè)試用例,這無(wú)疑是增加了代碼量,代碼重復(fù),且顯得那么臃腫(誰(shuí)不喜歡身材好的呢?你懂的),這時(shí)候我們可以使用不同數(shù)據(jù)驅(qū)動(dòng)代碼執(zhí)行相同的用例測(cè)試不同的場(chǎng)景
實(shí)施數(shù)據(jù)驅(qū)動(dòng)步驟
我們?cè)賮?lái)說(shuō)說(shuō)實(shí)施數(shù)據(jù)驅(qū)動(dòng)測(cè)試的步驟:
1.創(chuàng)建/準(zhǔn)備測(cè)試數(shù)據(jù)
2.封裝讀取數(shù)據(jù)的方法,保留測(cè)試腳本調(diào)用的接口/屬性(我們需要傳遞給腳本什么參數(shù))
3.編寫(xiě)自動(dòng)化測(cè)試腳本
4.腳本中調(diào)用封裝好的處理數(shù)據(jù)文件的模塊并引入測(cè)試數(shù)據(jù)
5.執(zhí)行測(cè)試腳本并分析測(cè)試結(jié)果
?數(shù)據(jù)驅(qū)動(dòng)測(cè)試環(huán)境準(zhǔn)備
1.安裝python3.x開(kāi)發(fā)環(huán)境(能看到此文章的應(yīng)該都有這個(gè)環(huán)境,沒(méi)有的自行百度吧)
2.安裝數(shù)據(jù)驅(qū)動(dòng)模塊ddt
安裝方式1:cmd下執(zhí)行命令 pip install ddt
安裝方式2:Links for ddt 下載 并解壓任意目錄,cmd 運(yùn)行命令python setup.py install
3.驗(yàn)證安裝 pycharm 新建python文件并輸入 import ddt 運(yùn)行無(wú)報(bào)錯(cuò)信息既表示安裝成功或者cmd 命令依次輸入python回車(chē) import ddt回車(chē) 無(wú)保存信息表示安裝成功
4.unittest框架和ddt進(jìn)行數(shù)據(jù)驅(qū)動(dòng)
測(cè)試步驟
1.訪問(wèn)地址:https://mail.sohu.com/fe/#/login
2.輸入用戶(hù)名和密碼
3.點(diǎn)擊登錄按鈕
4.判斷是否登錄成功
數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存在當(dāng)前腳本中
數(shù)據(jù)準(zhǔn)備
我們要實(shí)現(xiàn)的是用戶(hù)登錄的操作,所以用戶(hù)名和密碼是必須有的,期望結(jié)果可以有也可以沒(méi)有。數(shù)據(jù)類(lèi)型看源代碼!
實(shí)例代碼
?簡(jiǎn)單數(shù)據(jù)驅(qū)動(dòng)測(cè)試.py
源碼分析
1.@ddt來(lái)裝飾測(cè)試類(lèi)(ddt數(shù)據(jù)驅(qū)動(dòng)的規(guī)范寫(xiě)法,記住就ok)
2.@data(*value)裝飾測(cè)試用例(也是一種規(guī)范,這邊又涉及到裝飾器,不懂的可以百度或者看我之前的文章又介紹,這邊不再贅述,一句話(huà)兩句話(huà)也說(shuō)不清楚)記住:*value作用是打散數(shù)據(jù),比如上面代碼是用一個(gè)大列表存儲(chǔ)兩個(gè)小列表存放數(shù)據(jù)的,那么*value會(huì)得到兩個(gè)小列表,每個(gè)小列表是一組測(cè)試數(shù)據(jù)
3.@unpack 解析*value數(shù)據(jù),會(huì)把兩個(gè)小列表里面的每一個(gè)數(shù)據(jù)取出來(lái)分別傳遞給我們測(cè)試用例的形參
方式1缺點(diǎn)
存儲(chǔ)大量數(shù)據(jù)時(shí),需查看源代碼,不利于腳本的維護(hù)
json文件讀取測(cè)試數(shù)據(jù)進(jìn)行數(shù)據(jù)驅(qū)動(dòng)測(cè)試
數(shù)據(jù)準(zhǔn)備
新建一個(gè)json文件(也可以是txt文件),將我們需要的兩組測(cè)試數(shù)據(jù)以列表的形式寫(xiě)到j(luò)son文件中,每組數(shù)據(jù)的每一項(xiàng)參數(shù)用相同的符號(hào)分割開(kāi)(方便腳本讀取數(shù)據(jù))
實(shí)例代碼
?test_data.json
?使用數(shù)據(jù)文件驅(qū)動(dòng)測(cè)試.py
源碼分析
1.相對(duì)上個(gè)實(shí)例,這里使用了@file_data(文件路徑), 參數(shù)必須是一個(gè)文件,這里是一個(gè)json文件, 數(shù)據(jù)可以是一個(gè)列表,也可以是一個(gè)字典
-
# 列表形式
-
[
-
"*******@sohu.com||xiaochao11520||https://mail.sohu.com/fe/#/homepage",
-
"*******@sohu.com||xiaochao11520||https://mail.sohu.com/fe/#/homepage"
-
]
2.測(cè)試用例接收的是一個(gè)字符串,需要對(duì)字符串進(jìn)行處理,把用戶(hù)名,密碼,期望值解析出來(lái)
?方式2優(yōu)缺點(diǎn)
測(cè)試數(shù)據(jù)存在文件中,方便管理修改,添加數(shù)據(jù),易于維護(hù),缺點(diǎn)呢?emmm個(gè)人認(rèn)為這種方式最好!
從xml讀取數(shù)據(jù)進(jìn)行數(shù)據(jù)驅(qū)動(dòng)測(cè)試
數(shù)據(jù)準(zhǔn)備
新建一個(gè)xml格式的文件,按照xml格式的語(yǔ)法需求,填寫(xiě)數(shù)據(jù)(xml文檔我也不是很懂,簡(jiǎn)單的顯示個(gè)文字啥的還可以^-^!)
xmlData.xml
實(shí)例代碼
doXML.py
?從xml文件讀取數(shù)據(jù)驅(qū)動(dòng)測(cè)試.py
源碼分析
1.xml文檔編寫(xiě)(深入了解需百度)有點(diǎn)像html,但又有不同,xml中的節(jié)點(diǎn)可以是任意名稱(chēng),每個(gè)節(jié)點(diǎn)同樣是成雙出現(xiàn)
2.增加了doXML.py文檔,用來(lái)解析xml文件,方便腳本獲取數(shù)據(jù)(注釋寫(xiě)的很詳細(xì),不懂的化可以慢慢調(diào)試,哪里不懂print哪里)
3.測(cè)試腳本和上面的實(shí)例大致相同(不懂的加我qq直接問(wèn))
方式3優(yōu)缺點(diǎn)
優(yōu)點(diǎn)是做到了數(shù)據(jù)與測(cè)試的分離,方便數(shù)據(jù)維護(hù),缺點(diǎn)也比較明顯,需要對(duì)xml文檔有一定的了
總結(jié)
上面的數(shù)據(jù)驅(qū)動(dòng)測(cè)試步驟是我自己總結(jié)的,看了上面的實(shí)例對(duì)于步驟應(yīng)該還算合理,下面是我在網(wǎng)上找到的數(shù)據(jù)驅(qū)動(dòng)測(cè)試步驟(感覺(jué)比較官方!大家可以參考)
1.編寫(xiě)測(cè)試腳本, 腳本需要支持從程序?qū)ο?#xff0c; 文件,或者數(shù)據(jù)庫(kù)讀入數(shù)據(jù)。(個(gè)人觀點(diǎn):如果腳本先編寫(xiě)完,測(cè)試數(shù)據(jù)還未準(zhǔn)備,后期還要做修改)
2.將測(cè)試腳本使用的測(cè)試數(shù)據(jù)存入程序?qū)ο?#xff0c;文件,或者數(shù)據(jù)庫(kù)等外部介質(zhì)中。(個(gè)人觀點(diǎn):這個(gè)階段實(shí)為準(zhǔn)備數(shù)據(jù)的階段,也就是我們數(shù)據(jù)要存在哪里,理應(yīng)放在第一步)
3.運(yùn)行腳本過(guò)程中,循環(huán)調(diào)用存儲(chǔ)在外部介質(zhì)中的測(cè)試數(shù)據(jù)。(個(gè)人觀點(diǎn):這里要考慮我們?nèi)绾巫x取,使用數(shù)據(jù))
4.驗(yàn)證所有的測(cè)試結(jié)果是否符合預(yù)期結(jié)果
?
總結(jié):
感謝每一個(gè)認(rèn)真閱讀我文章的人!!!
作為一位過(guò)來(lái)人也是希望大家少走一些彎路,如果你不想再體驗(yàn)一次學(xué)習(xí)時(shí)找不到資料,沒(méi)人解答問(wèn)題,堅(jiān)持幾天便放棄的感受的話(huà),在這里我給大家分享一些自動(dòng)化測(cè)試的學(xué)習(xí)資源,希望能給你前進(jìn)的路上帶來(lái)幫助。
-
文檔獲取方式:
-
加入我的軟件測(cè)試交流群:680748947免費(fèi)獲取~(同行大佬一起學(xué)術(shù)交流,每晚都有大佬直播分享技術(shù)知識(shí)點(diǎn))
這份文檔,對(duì)于想從事【軟件測(cè)試】的朋友來(lái)說(shuō)應(yīng)該是最全面最完整的備戰(zhàn)倉(cāng)庫(kù),這個(gè)倉(cāng)庫(kù)也陪伴我走過(guò)了最艱難的路程,希望也能幫助到你!
以上均可以分享,只需要你搜索vx公眾號(hào):程序員雨果,即可免費(fèi)領(lǐng)取