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

Assert null value in Json response using Groovy

正在尝试在 JSON 响应中断言空值。 在我下面的 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]

您的密钥路径无效:

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