SmartBear SoapUI Pro入門教程--第一次功能測試(六)
SoapUI Pro擁有許多其他web服務測試工具所不具備的高級技術(shù)和功能。對于REST、SOAP以及其他流行的API和物聯(lián)網(wǎng)協(xié)議,它提供了業(yè)界最全面的功能測試功能。通過易用的圖形界面和企業(yè)級功能,SoapUI Pro允許你快速創(chuàng)建和執(zhí)行自動功能測試。在單一環(huán)境下,SoapUI Pro提供了完整的測試覆蓋,支持所有的標準協(xié)議和技術(shù)。本文旨在引導新用戶開始第一次功能測試,供大家學習討論。

斷言是應用于測試結(jié)果的驗證規(guī)則,用于檢查目標Web服務的執(zhí)行方式。在SoapUI測試中,使用斷言來驗證代碼和主體中的各個值、請求執(zhí)行時間以及執(zhí)行其他檢查。測試運行器在測試步驟結(jié)束后運行斷言。
示例一、SLA斷言
創(chuàng)建一個斷言檢查測試的Web服務是否在預定義的時間限制內(nèi)響應:
- 在SoapUI中,在Navigator面板中選擇GET Request,然后單擊Add Assertion:
- 在對話框中,選擇左側(cè)的SLA類別,然后選擇右側(cè)的Response SLA,并單擊Add:
- 在Add Assertion對話框中單擊Add后,ReadyAPI將顯示可以配置斷言參數(shù)的對話框。對于不同的斷言,此對話框的外觀不同。下圖顯示了它如何查找響應SLA斷言。
使用1000ms作為最大請求響應時間,現(xiàn)在如果請求需要的時間超過指定的毫秒數(shù),則會觸發(fā)斷言,測試將失敗。如果測試的時間小于或等于指定值,檢測則通過。
您可以在Assertions面板中找到添加的斷言:

如果請求編輯器具有響應數(shù)據(jù),將立即應用斷言。

ReadyAPI每次獲得更新的響應數(shù)據(jù)時都會重新應用斷言。 在我們的示例中,斷言因為請求的執(zhí)行時間超過1秒而失敗。要更改時間限制,請雙擊斷言頁面中的斷言,然后在后續(xù)對話框中輸入更大的值:

提示:您可以使用“New Functional Test wizard”向?qū)㈨憫猄LA和其他一些斷言添加到請求中。
示例二、檢查響應內(nèi)容
接下來將介紹如何驗證響應數(shù)據(jù)。示例響應主體具有JSON數(shù)據(jù)格式,因此我們將為JSON數(shù)據(jù)創(chuàng)建一個斷言:
- 確保請求有響應。如果沒有,請單擊Send發(fā)送請求并獲得響應。
- 在“Assertions”頁面上,按圖中所示創(chuàng)建另一個斷言。在隨后的對話框中,選擇左側(cè)的Property Content類別和右側(cè)的JsonPath Match斷言,然后單擊Add:
- 在對話框中,您需要輸入一個JSONPath表達式,該表達式將從響應正文中提取一些字段以及該字段的預期值:
您可以鍵入所需的表達式,也可以按圖所示操作,然后在后續(xù)對話框中以可視方式選擇值:
所述JSONPath表達字段包含選擇器從電流響應數(shù)據(jù)中提取的值和預期結(jié)果:
- 單擊“Save”存儲更改。 由于我們有響應數(shù)據(jù),因此將立即應用斷言,您將在斷言頁面中看到其結(jié)果:
如果響應發(fā)生變化,則會觸發(fā)斷言,測試步驟將失敗。
值得注意的是只有編輯器有一些響應數(shù)據(jù)時,所描述的Select節(jié)點命令才有效。也就是說,您需要先運行請求并收到響應。在我們的例子中它可以工作,因為我們在本教程的上一步中運行了請求。
到此為止SoapUI Pro的第一次功能測試教程介紹完畢,我們希望它能幫助您了解如何在ReadyAPI SoapUI中創(chuàng)建Web服務的功能測試。當然,本教程只介紹了基本步驟,想要了解更多有關(guān)使用ReadyAPI進行Web服務測試的信息請持續(xù)關(guān)注。