簡體   English   中英

如何使用SOAP UI測試響應內容類型

[英]How to test the response content-type using SOAP UI

我是這個SOAP UI的新手。 我要求測試響應主體是否為空。

你能告訴我如何解決嗎?

我的想法是使用斷言腳本檢查響應的content-length ,但不適用於equals()

contains()正在工作,但equals

// works:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]).contains("0")
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["C‌​ontent-Length"]).equals("0") 
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["C‌​ontent-Length"]) == 0 

請幫我解決問題。

在您的代碼中:

// works:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["Content-Length"]).contains("0")
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["C‌​ontent-Length"]).equals("0") 
// not working:
assert ((com.eviware.soapui.support.types.StringList)messageExchange.responseHeaders["C‌​ontent-Length"]) == 0 

表達式messageExchange.responseHeaders["Content-Length"]返回StringList [請參閱此處的文檔] ,它是ArrayList<String>

它的內容就像是幾個Strings ,例如( "abc""def""ghi" )。

contains("0")

這樣,當您調用list.contains("abc") ,您正在詢問"abc"是否為列表的元素之一。 您的Content-Length標頭可能是一個包含一個元素的列表,例如( "0" )。 這就是為什么list.contains("0")返回true原因,因為String "0"是列表中的元素之一。

equals("0")

因此,當您調用: list.equals(something) ,僅當作為參數傳遞的something也是String列表時,它才會返回true "0"不是String的列表,而只是一個。

== 0

同樣,當您調用list == 0您正在測試list是否為整數0 ,而不是整數。

messageExchange.responseHeaders["Content-Length"] == 0應該不起作用,因為。 messageExchange.responseHeaders["Content-Length"]返回一個ListString S,比所述整數不同 0

messageExchange.getResponse().getContentLength() == 0起作用是因為messageExchange.getResponse().getContentLength()返回Content-Length標頭作為一個long整數值。

messageExchange.getResponse().getContentLength()與獲取列表的第一個值並將其轉換為long 看一下它是如何工作的: Long.valueOf(messageExchange.responseHeaders["Content-Length"].get(0)) == 0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM