Soapui 脚本断言,当 Json 响应 return 为字符串时
Soapui Script Assertion, when Json response return as string
我的 Json 回复(return 作为字符串),
"[{\"Serial\":5,\"Name\":\"hold\",\"Types\":[{\"Serial\":36,\"Id\":5,\"Data\":true}]}]"
我的脚本断言,
import groovy.json.JsonSlurper
def ResponseMessage = messageExchange.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)
//verify the slurper isn't empty
assert !(jsonSlurper.isEmpty())
assert jsonSlurper.Serial == 5
但是我遇到了一个错误
"JSON 有效负载应以左大括号“{”或左方括号“[”开头。
相反,'[{\"Serial\":5,\"Name\":\"hold\",\"Types\":[{\"Serial\":36,\"Id\":5,\"Data\":true}]}]"' 位于第 1 行,第 1 列""
如何修复此脚本,我只是想断言我的响应不应为空且序列号等于 5。
所以我已经通过简单的正则表达式解决了我自己的问题。
这是代码伙计们,
//imports
import groovy.json.JsonSlurper
//grab the response
def ResponseMessage = messageExchange.response.responseContent
def TrimResponse =ResponseMessage.replaceAll('^\"|\"$','').replaceAll('^ \[|\]$','').replaceAll('\\','')
//define a JsonSlurper
def jsonSlurper = new JsonSlurper().parseText(TrimResponse)
//verify the slurper isn't empty
assert !(jsonSlurper.isEmpty())
assert jsonSlurper.Serial != null
assert jsonSlurper.Serial == 5
assert jsonSlurper.Types[0].Serial == 36
尽情享受 :)
我的 Json 回复(return 作为字符串),
"[{\"Serial\":5,\"Name\":\"hold\",\"Types\":[{\"Serial\":36,\"Id\":5,\"Data\":true}]}]"
我的脚本断言,
import groovy.json.JsonSlurper
def ResponseMessage = messageExchange.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)
//verify the slurper isn't empty
assert !(jsonSlurper.isEmpty())
assert jsonSlurper.Serial == 5
但是我遇到了一个错误
"JSON 有效负载应以左大括号“{”或左方括号“[”开头。 相反,'[{\"Serial\":5,\"Name\":\"hold\",\"Types\":[{\"Serial\":36,\"Id\":5,\"Data\":true}]}]"' 位于第 1 行,第 1 列""
如何修复此脚本,我只是想断言我的响应不应为空且序列号等于 5。
所以我已经通过简单的正则表达式解决了我自己的问题。
这是代码伙计们,
//imports
import groovy.json.JsonSlurper
//grab the response
def ResponseMessage = messageExchange.response.responseContent
def TrimResponse =ResponseMessage.replaceAll('^\"|\"$','').replaceAll('^ \[|\]$','').replaceAll('\\','')
//define a JsonSlurper
def jsonSlurper = new JsonSlurper().parseText(TrimResponse)
//verify the slurper isn't empty
assert !(jsonSlurper.isEmpty())
assert jsonSlurper.Serial != null
assert jsonSlurper.Serial == 5
assert jsonSlurper.Types[0].Serial == 36
尽情享受 :)