使用Groovy在Json响应中断言null值

时间:2017-08-02 07:40:59

标签: json groovy soapui

尝试在JSON响应中断言null值。 在我的下面的groovy脚本中,它应该传递断言,因为我的Token有一些值,但它给了我错误。 我想当Token的值为null时它应该会失败。

{
   "ResponseCode": 1,
   "ResponseData": null,
   "Result":    {
      "LoginResult": 2,
      "Token": "244F5F16-EB3B-4A58-A784-AE55BF87EA53",
      "UserInformation": null
   }
}

Groovy脚本:

import groovy.json.JsonSlurper
def ResponseMessage = messageExchange.response.responseContent
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)
assert jsonSlurper.Token != null

它给了我错误:

assert jsonSlurper.Token != null | | | | null false [Result:[LoginResult:2, Token:244F5F16-EB3B-4A58-A784-AE55BF87EA53, UserInformation:null], ResponseCode:1, ResponseData:null]

1 个答案:

答案 0 :(得分:2)

您的密钥路径无效:

import groovy.json.JsonSlurper

def input = '''{
   "ResponseCode": 1,
   "ResponseData": null,
   "Result":    {
      "LoginResult": 2,
      "Token": "244F5F16-EB3B-4A58-A784-AE55BF87EA53",
      "UserInformation": null
   }
}'''

def jsonSlurper = new JsonSlurper().parseText(input)
assert jsonSlurper.Result.Token != null

应该是:jsonSlurper.Result.Token