断言响应以

Assert response starts with

我正在尝试断言响应,以检查响应值是否以特定文本开头。我尝试使用函数 startsWith 但它似乎在 SOPAUI 脚本断言中不起作用。

这是我试过的:

import groovy.json.JsonSlurper

//grab the response
def ResponseMessage = messageExchange.response.responseContent.records
//define a JsonSlurper
def jsonSlurper = new JsonSlurper().parseText(ResponseMessage)
//log.info jsonSlurper

assert jsonSlurper.startsWith("Text")

这是 json 回复

{
  "Name": "Natalie",
  "message": "What are you doing"
}

我想检查 Name 是否以 "Nat"

开头

来自文档 JsonSlurper().parseText(String text) returns:

data structure of lists and maps

所以你不能直接使用startsWith。要实现您想要的效果,您必须转到路径中的所需对象并在那里使用 startsWith。 must 对你的情况有效:

import groovy.json.JsonSlurper    

def jsonStr = '{ "Name": "Natalie", "message": "What are you doing" }'

def jsonSlurper = new JsonSlurper().parseText(jsonStr)
assert jsonSlurper.Name.startsWith("Nat")