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 脚本断言的解决方案有效。感谢脚本。
我有一个 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 脚本断言的解决方案有效。感谢脚本。