App下載

如何進(jìn)行數(shù)據(jù)驅(qū)動(dòng)測(cè)試?katalon怎么實(shí)現(xiàn)?

猿友 2021-07-08 14:09:44 瀏覽數(shù) (3127)
反饋

小編在之前分享了一篇關(guān)于 katalon 這個(gè)工具的文章,為了避免篇幅過(guò)長(zhǎng),同時(shí)為了將其與seleniumIDE最大的突出點(diǎn)更好的展現(xiàn)出來(lái),小編決定另起一篇文章進(jìn)行介紹。接下來(lái)這篇文章,小編就來(lái)介紹一下 katalon 數(shù)據(jù)驅(qū)動(dòng)要怎么做吧!

什么是數(shù)據(jù)驅(qū)動(dòng)測(cè)試

相信聰明的小伙伴看到這個(gè)詞大概也能猜出來(lái)什么是數(shù)據(jù)驅(qū)動(dòng)測(cè)試了吧?簡(jiǎn)單的來(lái)說(shuō),數(shù)據(jù)驅(qū)動(dòng)測(cè)試是一種測(cè)試用例簡(jiǎn)化的方法。比如說(shuō),原來(lái)登陸測(cè)試,工程師需要測(cè)試多個(gè)賬號(hào),每個(gè)賬號(hào)算一個(gè)測(cè)試用例,這樣就會(huì)產(chǎn)生很多測(cè)試用例,而數(shù)據(jù)驅(qū)動(dòng)測(cè)試的思想,就是將相同的邏輯步驟提取出來(lái),使用變量替代用例中不同的參數(shù)(這樣的操作是不是有點(diǎn)像函數(shù)?)。然后將之前的不同的參數(shù)收集起來(lái)作為一個(gè)數(shù)據(jù)池,當(dāng)需要執(zhí)行對(duì)應(yīng)的測(cè)試用例的時(shí)候,只需要把對(duì)應(yīng)的參數(shù)傳進(jìn)去就可以了。

以一個(gè)簡(jiǎn)單的登陸為例,登陸流程為,打開(kāi)網(wǎng)頁(yè)->輸入賬號(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界面

可以看到katalon最下方有一排的控制臺(tái),其中我們只需要關(guān)注variable 和data driven這兩個(gè)窗口即可,數(shù)據(jù)驅(qū)動(dòng)的相關(guān)功能都在這里進(jìn)行控制。

第一步,錄制一個(gè)案例

我們簡(jiǎn)單的錄制一個(gè)案例,具體流程如下:打開(kāi)百度->輸入數(shù)據(jù)(這里我們輸入的數(shù)據(jù)為W3Cschool,另外在程序中這里被拆分成兩步,一步先點(diǎn)擊輸入框,第二步才是輸入數(shù)據(jù))->點(diǎn)擊登陸。腳本錄制截圖如下:

腳本錄制

上面就是錄制的腳本,其實(shí)我們可以發(fā)現(xiàn),紅框內(nèi)部的指令,每個(gè)測(cè)試案例都會(huì)不一樣的(也就是我們要提取出來(lái)的數(shù)據(jù))而紅框里面的綠框,是我們需要插入的數(shù)據(jù)值。

第二步,使用變量替代

我們可以看到上圖的綠框是固定值,但我們的目的是讓他變成參數(shù),所以第二步是使用變量替代原有的value值。

設(shè)定變量

如上圖所示,我們將w3cschool 的值設(shè)為?${keyword}?。

第三步,使用循環(huán)腳本包圍重復(fù)執(zhí)行項(xiàng)。

在上述的腳本中插入循環(huán)腳本。在命令行前添加loadVars命令,在命令行后添加endLoadVars。

插入循環(huán)

第四步,添加數(shù)據(jù)池

在循環(huán)腳本的開(kāi)始命令中的target添加數(shù)據(jù)池。

添加數(shù)據(jù)驅(qū)動(dòng)

 關(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打開(kāi)),只需要將第一行命名為keyword就可以了。

csv文件

 注意,請(qǐng)注意數(shù)據(jù)池的編碼字符集,不然可能會(huì)出現(xiàn)亂碼。

添加數(shù)據(jù)池

做完數(shù)據(jù)池后需要將其添加到data driven中。

添加數(shù)據(jù)池

在data driven面板上的右邊,可以添加CSV格式和JSON格式的數(shù)據(jù)池,點(diǎn)擊即可選擇做好的數(shù)據(jù)池添加。

添加完的數(shù)據(jù)池就可以在上述的第四步中使用了。

其他

在做完上述步驟后,可以看到當(dāng)前代碼用到的變量值和其屬性,方便開(kāi)發(fā)者進(jìn)行代碼調(diào)試。

變量窗口

小結(jié)

通過(guò)上面的學(xué)習(xí),我們可以學(xué)會(huì)katalon的數(shù)據(jù)驅(qū)動(dòng)測(cè)試。在成規(guī)模成體系的軟件測(cè)試過(guò)程中,數(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)行介紹。


0 人點(diǎn)贊