小編在之前分享了一篇關(guān)于 katalon 這個(gè)工具的文章,為了避免篇幅過長(zhǎng),同時(shí)為了將其與seleniumIDE最大的突出點(diǎn)更好的展現(xiàn)出來,小編決定另起一篇文章進(jìn)行介紹。接下來這篇文章,小編就來介紹一下 katalon 數(shù)據(jù)驅(qū)動(dòng)要怎么做吧!
什么是數(shù)據(jù)驅(qū)動(dòng)測(cè)試
相信聰明的小伙伴看到這個(gè)詞大概也能猜出來什么是數(shù)據(jù)驅(qū)動(dòng)測(cè)試了吧?簡(jiǎn)單的來說,數(shù)據(jù)驅(qū)動(dòng)測(cè)試是一種測(cè)試用例簡(jiǎn)化的方法。比如說,原來登陸測(cè)試,工程師需要測(cè)試多個(gè)賬號(hào),每個(gè)賬號(hào)算一個(gè)測(cè)試用例,這樣就會(huì)產(chǎn)生很多測(cè)試用例,而數(shù)據(jù)驅(qū)動(dòng)測(cè)試的思想,就是將相同的邏輯步驟提取出來,使用變量替代用例中不同的參數(shù)(這樣的操作是不是有點(diǎn)像函數(shù)?)。然后將之前的不同的參數(shù)收集起來作為一個(gè)數(shù)據(jù)池,當(dāng)需要執(zhí)行對(duì)應(yīng)的測(cè)試用例的時(shí)候,只需要把對(duì)應(yīng)的參數(shù)傳進(jìn)去就可以了。
以一個(gè)簡(jiǎn)單的登陸為例,登陸流程為,打開網(wǎng)頁->輸入賬號(hào)->輸入密碼->點(diǎn)擊登陸->登陸成功。假設(shè)我們需要測(cè)試十個(gè)賬號(hào),那么就會(huì)出現(xiàn)十個(gè)測(cè)試用例,如果采用數(shù)據(jù)驅(qū)動(dòng)測(cè)試的話,那就是一個(gè)測(cè)試用例+10組數(shù)據(jù),在用例管理上就大大提高了效率。
katalon recorder 怎么做數(shù)據(jù)驅(qū)動(dòng)測(cè)試
可以看到katalon最下方有一排的控制臺(tái),其中我們只需要關(guān)注variable 和data driven這兩個(gè)窗口即可,數(shù)據(jù)驅(qū)動(dòng)的相關(guān)功能都在這里進(jìn)行控制。
第一步,錄制一個(gè)案例
我們簡(jiǎn)單的錄制一個(gè)案例,具體流程如下:打開百度->輸入數(shù)據(jù)(這里我們輸入的數(shù)據(jù)為W3Cschool,另外在程序中這里被拆分成兩步,一步先點(diǎn)擊輸入框,第二步才是輸入數(shù)據(jù))->點(diǎn)擊登陸。腳本錄制截圖如下:
上面就是錄制的腳本,其實(shí)我們可以發(fā)現(xiàn),紅框內(nèi)部的指令,每個(gè)測(cè)試案例都會(huì)不一樣的(也就是我們要提取出來的數(shù)據(jù))而紅框里面的綠框,是我們需要插入的數(shù)據(jù)值。
第二步,使用變量替代
我們可以看到上圖的綠框是固定值,但我們的目的是讓他變成參數(shù),所以第二步是使用變量替代原有的value值。
如上圖所示,我們將w3cschool 的值設(shè)為?${keyword}
?。
第三步,使用循環(huán)腳本包圍重復(fù)執(zhí)行項(xiàng)。
在上述的腳本中插入循環(huán)腳本。在命令行前添加loadVars命令,在命令行后添加endLoadVars。
第四步,添加數(shù)據(jù)池
在循環(huán)腳本的開始命令中的target添加數(shù)據(jù)池。
關(guān)于數(shù)據(jù)池,更多內(nèi)容在下一點(diǎn)介紹。
添加完數(shù)據(jù)驅(qū)動(dòng)就可以執(zhí)行了。
如何做數(shù)據(jù)池
在上面流程的第四步中,需要導(dǎo)入一個(gè)數(shù)據(jù)池,這個(gè)數(shù)據(jù)池怎么做呢?首先,katalon 支持兩種方式的導(dǎo)入,一種是JSON的導(dǎo)入,一種是csv的導(dǎo)入,兩種數(shù)據(jù)池的制作首先要確定一件事:調(diào)用方希望獲取什么樣的數(shù)據(jù)。
以上述例子為例,我們命名了一個(gè)變量叫keyword(在腳本中使用?${keyword}
?取出),所以我們的數(shù)據(jù)池的一個(gè)關(guān)鍵屬性是keyword。
在JSON中,數(shù)據(jù)采用鍵值對(duì)的方式存儲(chǔ),所以每一條數(shù)據(jù)都要帶上keyword這個(gè)屬性名,所以對(duì)應(yīng)的JSON應(yīng)該是這樣的:
[
{
"keyword": "編程獅"
},
{
"keyword": "小行動(dòng)"
},
{
"keyword": "六項(xiàng)精進(jìn)"
}
]
在csv中(csv可以使用excel打開),只需要將第一行命名為keyword就可以了。
注意,請(qǐng)注意數(shù)據(jù)池的編碼字符集,不然可能會(huì)出現(xiàn)亂碼。
添加數(shù)據(jù)池
做完數(shù)據(jù)池后需要將其添加到data driven中。
在data driven面板上的右邊,可以添加CSV格式和JSON格式的數(shù)據(jù)池,點(diǎn)擊即可選擇做好的數(shù)據(jù)池添加。
添加完的數(shù)據(jù)池就可以在上述的第四步中使用了。
其他
在做完上述步驟后,可以看到當(dāng)前代碼用到的變量值和其屬性,方便開發(fā)者進(jìn)行代碼調(diào)試。
小結(jié)
通過上面的學(xué)習(xí),我們可以學(xué)會(huì)katalon的數(shù)據(jù)驅(qū)動(dòng)測(cè)試。在成規(guī)模成體系的軟件測(cè)試過程中,數(shù)據(jù)驅(qū)動(dòng)測(cè)試是相當(dāng)重要的,小伙伴們要是想了解相關(guān)的內(nèi)容知識(shí),可以持續(xù)關(guān)注W3C技術(shù)頭條的后續(xù)內(nèi)容。小編會(huì)持續(xù)進(jìn)行介紹。