數(shù)據(jù)準(zhǔn)備是接口測(cè)試過(guò)程中不可或缺的一步,也是花費(fèi)時(shí)間很長(zhǎng)的工作,因?yàn)槌绦虻墓δ芫褪翘幚頂?shù)據(jù)。那么在接口測(cè)試中,我們要怎樣來(lái)準(zhǔn)備數(shù)據(jù)呢?整理了以下一些關(guān)于數(shù)據(jù)準(zhǔn)備的方法,希望對(duì)大家能有所幫助。
數(shù)據(jù)準(zhǔn)備分為兩種類(lèi)型:
1、數(shù)據(jù)庫(kù)中的基礎(chǔ)數(shù)據(jù);
2、基于web層的接口測(cè)試時(shí),所依賴的session、param等數(shù)據(jù);
一、數(shù)據(jù)庫(kù)中的基礎(chǔ)數(shù)據(jù)
和ruby腳本中的數(shù)據(jù)準(zhǔn)備類(lèi)似,接口測(cè)試中也使用excel文件來(lái)準(zhǔn)備數(shù)據(jù)庫(kù)的數(shù)據(jù),但是excel的寫(xiě)法有所不同。
在建好測(cè)試類(lèi)后(下圖中的purchaseprocessservicetest.java),在同一目錄下新建一個(gè)同名的excel文件,如圖:
打開(kāi)新建的excel,將下方的sheet名改成你要插入數(shù)據(jù)的數(shù)據(jù)庫(kù)表名,如下圖中的table_user表:
在excel中填寫(xiě)要插入的數(shù)據(jù),如下圖:
第 一行是表中的字段,第二行開(kāi)始就是要插入的數(shù)據(jù)。
這里有個(gè)小技巧,可以先從pl/sql中查詢到相關(guān)的數(shù)據(jù),然后把它導(dǎo)出成一個(gè)csv文件,用excel打開(kāi)這個(gè)csv文件,就可以直接把數(shù)據(jù)復(fù)制粘貼到excel中了:
excel寫(xiě)好后,要把它加到測(cè)試類(lèi)中,這里使用標(biāo)簽來(lái)實(shí)現(xiàn),在用例測(cè)試代碼上面加如下標(biāo)簽:
@dataset({“purchaseprocessservicetest.xls”})
@test
public void test_n_測(cè)試用例_case01() {……..}
這樣每次測(cè)試執(zhí)行時(shí),會(huì)先根據(jù)excel中的數(shù)據(jù),查找數(shù)據(jù)庫(kù),如果excel中的數(shù)據(jù)在數(shù)據(jù)庫(kù)中已存在,系統(tǒng)就會(huì)自動(dòng)先將它們從數(shù)據(jù)庫(kù)中刪除,然后把excel中的數(shù)據(jù)全部插入數(shù)據(jù)庫(kù)。
不過(guò)這樣準(zhǔn)備的數(shù)據(jù)是靜態(tài)的,如果你想要準(zhǔn)備動(dòng)態(tài)的數(shù)據(jù),如:你需要插入的數(shù)據(jù)中有個(gè)時(shí)間字段,這個(gè)字段的值是當(dāng)前的系統(tǒng)時(shí)間。這樣你就需要先用excel插入一條數(shù)據(jù),然后在測(cè)試代碼中,用jdbc來(lái)update這條數(shù)據(jù),把數(shù)據(jù)中的時(shí)間改成你想要的時(shí)間,就可以了。
二、基于web層的接口測(cè)試
因?yàn)槭轻槍?duì)web層的測(cè)試,所以需要在測(cè)試執(zhí)行前,對(duì)接口所依賴的session、param等進(jìn)行注入。
在itest中,我們用xml文件來(lái)實(shí)現(xiàn)這一步。
這樣每次執(zhí)行測(cè)試時(shí),就會(huì)自動(dòng)注入這些requst參數(shù)了。
溫馨提示
溫馨提示
相關(guān)資訊
關(guān)于厚學(xué)
服務(wù)支持
厚學(xué)網(wǎng)微信號(hào)