Groovy 断言响应以

Groovy 断言响应以,groovy,soapui,Groovy,Soapui,我试图断言响应,以检查响应值是否以某个文本开头。我尝试使用函数startsWith,但在SOPAUI脚本断言中似乎不起作用 这就是我尝试过的: import groovy.json.JsonSlurper //grab the response def ResponseMessage = messageExchange.response.responseContent.records //define a JsonSlurper def jsonSlurper = new JsonSlurpe

我试图断言响应,以检查响应值是否以某个文本开头。我尝试使用函数
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"
}
我想检查文档返回中的
名称
是否以“Nat”开头

列表
地图的数据结构

因此,您不能直接使用
startsWith
。要实现您想要的,您必须转到路径中所需的对象,并在那里使用
startsWith
。类似“必须”的内容适用于您的案例:

import groovy.json.JsonSlurper    

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

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

可能重复的“不要问新问题,编辑旧问题”。@protea
JsonSlurper().parseText()
返回
列表
映射
的数据结构,因此不能直接使用
startsWith
。你想达到什么目标?您想检查json中的某个键是否以
文本开始?请向您提供
json
响应,这样问题可能会变得清楚
:)