SOAPUI 如何在 Json 中创建一个带有 XML 的断言

SOAPUI how to create an assertion with a XML inside Json

我有一个 Get 请求,响应为 Json。 Json 里面是一个 XML 文件。 如何在 XML 部分创建断言?

{
   "conversatie_id": "c69394b2-2403-4c3a-aaaf-4b0582482356",
   "retourXmlBericht": "<note><heading>Heading</heading><body>Message</body></note>"
}

您可以使用 groovy 脚本断言来解析 json 并使用 JsonSlurper 获取 xml。然后使用XmlHolder获取节点值。

这是 groovy 脚本:

import groovy.json.JsonSlurper
import com.eviware.soapui.support.XmlHolder

//grab the json response
def ResponseMessage = messageExchange.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)

assert jsonSlurper.retourXmlBericht  != null

//grab the xml extracted
def holder = new XmlHolder(jsonSlurper.retourXmlBericht)
def valueHeading = holder.getNodeValue("//note/heading")
def valueBody = holder.getNodeValue("//note/body")

assert valueHeading == "Heading"
assert valueBody == "Message"

带有 groovy 脚本断言的解决方案有效。感谢脚本。