SmartBear SoapUI Pro入門教程--第一次功能測(cè)試(六)
SoapUI Pro擁有許多其他web服務(wù)測(cè)試工具所不具備的高級(jí)技術(shù)和功能。對(duì)于REST、SOAP以及其他流行的API和物聯(lián)網(wǎng)協(xié)議,它提供了業(yè)界最全面的功能測(cè)試功能。通過易用的圖形界面和企業(yè)級(jí)功能,SoapUI Pro允許你快速創(chuàng)建和執(zhí)行自動(dòng)功能測(cè)試。在單一環(huán)境下,SoapUI Pro提供了完整的測(cè)試覆蓋,支持所有的標(biāo)準(zhǔn)協(xié)議和技術(shù)。本文旨在引導(dǎo)新用戶開始第一次功能測(cè)試,供大家學(xué)習(xí)討論。
斷言是應(yīng)用于測(cè)試結(jié)果的驗(yàn)證規(guī)則,用于檢查目標(biāo)Web服務(wù)的執(zhí)行方式。在SoapUI測(cè)試中,使用斷言來驗(yàn)證代碼和主體中的各個(gè)值、請(qǐng)求執(zhí)行時(shí)間以及執(zhí)行其他檢查。測(cè)試運(yùn)行器在測(cè)試步驟結(jié)束后運(yùn)行斷言。
示例一、SLA斷言
創(chuàng)建一個(gè)斷言檢查測(cè)試的Web服務(wù)是否在預(yù)定義的時(shí)間限制內(nèi)響應(yīng):
- 在SoapUI中,在Navigator面板中選擇GET Request,然后單擊Add Assertion:
- 在對(duì)話框中,選擇左側(cè)的SLA類別,然后選擇右側(cè)的Response SLA,并單擊Add:
- 在Add Assertion對(duì)話框中單擊Add后,ReadyAPI將顯示可以配置斷言參數(shù)的對(duì)話框。對(duì)于不同的斷言,此對(duì)話框的外觀不同。下圖顯示了它如何查找響應(yīng)SLA斷言。 使用1000ms作為最大請(qǐng)求響應(yīng)時(shí)間,現(xiàn)在如果請(qǐng)求需要的時(shí)間超過指定的毫秒數(shù),則會(huì)觸發(fā)斷言,測(cè)試將失敗。如果測(cè)試的時(shí)間小于或等于指定值,檢測(cè)則通過。
您可以在Assertions面板中找到添加的斷言:
如果請(qǐng)求編輯器具有響應(yīng)數(shù)據(jù),將立即應(yīng)用斷言。
ReadyAPI每次獲得更新的響應(yīng)數(shù)據(jù)時(shí)都會(huì)重新應(yīng)用斷言。 在我們的示例中,斷言因?yàn)檎?qǐng)求的執(zhí)行時(shí)間超過1秒而失敗。要更改時(shí)間限制,請(qǐng)雙擊斷言頁(yè)面中的斷言,然后在后續(xù)對(duì)話框中輸入更大的值:
提示:您可以使用“New Functional Test wizard”向?qū)㈨憫?yīng)SLA和其他一些斷言添加到請(qǐng)求中。
示例二、檢查響應(yīng)內(nèi)容
接下來將介紹如何驗(yàn)證響應(yīng)數(shù)據(jù)。示例響應(yīng)主體具有JSON數(shù)據(jù)格式,因此我們將為JSON數(shù)據(jù)創(chuàng)建一個(gè)斷言:
- 確保請(qǐng)求有響應(yīng)。如果沒有,請(qǐng)單擊Send發(fā)送請(qǐng)求并獲得響應(yīng)。
- 在“Assertions”頁(yè)面上,按圖中所示創(chuàng)建另一個(gè)斷言。在隨后的對(duì)話框中,選擇左側(cè)的Property Content類別和右側(cè)的JsonPath Match斷言,然后單擊Add:
- 在對(duì)話框中,您需要輸入一個(gè)JSONPath表達(dá)式,該表達(dá)式將從響應(yīng)正文中提取一些字段以及該字段的預(yù)期值:
您可以鍵入所需的表達(dá)式,也可以按圖所示操作,然后在后續(xù)對(duì)話框中以可視方式選擇值:
所述JSONPath表達(dá)字段包含選擇器從電流響應(yīng)數(shù)據(jù)中提取的值和預(yù)期結(jié)果:
- 單擊“Save”存儲(chǔ)更改。 由于我們有響應(yīng)數(shù)據(jù),因此將立即應(yīng)用斷言,您將在斷言頁(yè)面中看到其結(jié)果:
如果響應(yīng)發(fā)生變化,則會(huì)觸發(fā)斷言,測(cè)試步驟將失敗。
值得注意的是只有編輯器有一些響應(yīng)數(shù)據(jù)時(shí),所描述的Select節(jié)點(diǎn)命令才有效。也就是說,您需要先運(yùn)行請(qǐng)求并收到響應(yīng)。在我們的例子中它可以工作,因?yàn)槲覀冊(cè)诒窘坛痰纳弦徊街羞\(yùn)行了請(qǐng)求。
到此為止SoapUI Pro的第一次功能測(cè)試教程介紹完畢,我們希望它能幫助您了解如何在ReadyAPI SoapUI中創(chuàng)建Web服務(wù)的功能測(cè)試。當(dāng)然,本教程只介紹了基本步驟,想要了解更多有關(guān)使用ReadyAPI進(jìn)行Web服務(wù)測(cè)試的信息請(qǐng)持續(xù)關(guān)注。