2011-04-21 40 views
2

什麼是對所有SOAP請求應用相同斷言的最簡潔最優雅的方式?SOAPUI:將斷言應用於所有請求?

我創建了一個測試,可以ping多個服務(24個左右),並驗證它們包含(或不包含)響應的相同元素。 (例如,所有服務都接受有效的SAML令牌)。

一個解決方案:

- create a global/project property named "assertion1" with value "invalid token" 
- under each soap request, add a "does not contain" assertion with the value "${assertion1}" 
  • 優點:只有一個位置 更新的字符串值
  • 缺點: 如果我想添加/刪除一個斷言, 我必須這樣做的每個服務

回答

2

我的2美分

其他方式可以在24個左右的請求結束時使用groovy腳本,並從每個請求中獲取元素併爲SAML令牌聲明。

使用「不包含」的想法並不是測試元素的有效方法。

希望這有助於

+0

Groovy腳本是一個好主意 - 我最終如何解決這個問題。 – BlackGaff 2011-10-03 17:02:28

0

如前所述通過SuperMan Groovy腳本是好主意,做斷言。你將能夠添加任何類型的斷言。例如,如果它是一個xpath斷言,它將需要兩個輸入xpath和期望的內容作爲參數,而不是包含的情況下的一個參數。

而不是在所有步驟後斷言,你將能夠在測試步驟事件後做到這一點。如果你是一個soapui pro用戶,你可以使用這個事件。 SoapUI免費版沒有這個功能,但是你可以使用soapuiExtensions庫來實現步驟事件。