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