空手道 API 测试 - 从 JSON 数组转换为字符串
Karate API Testing - Converting from JSON array to String
我需要从 GET
请求中读取一个 id 并在 POST
中使用它来执行测试。我从 GET 中检索到的 ID 采用以下表达式的数组形式:
And def reqId = response.teams[*].resource[1].resourceRequestId
`["59aeb24be4b0b17227553d07"]`
我将此 ID 存储为变量:
And def reqId = response.teams[*].resource[1].resourceRequestId
当我在 POST
操作中使用它时,出现以下错误:
exception":"org.springframework.http.converter.HttpMessageNotReadableException","message":"Could not read document: Can not deserialize instance of java.lang.String out of START_ARRAY token\n
有没有一种方法可以执行 JSON.stringify() 等将值转换为字符串或提取它并在 POST
请求
中更有目的地使用它的方法
您发送的是数组而不是单个字符串。请记住,在 JsonPath 中使用 [*]
时,结果始终是一个数组。
And def temp = response.teams[*].resource[1].resourceRequestId
And def reqId = temp[0]
现在试试,应该可以。我们正在引入 get[0]
方便的语法,以使其在下一版本中更清晰。留意一下。
我需要从 GET
请求中读取一个 id 并在 POST
中使用它来执行测试。我从 GET 中检索到的 ID 采用以下表达式的数组形式:
And def reqId = response.teams[*].resource[1].resourceRequestId
`["59aeb24be4b0b17227553d07"]`
我将此 ID 存储为变量:
And def reqId = response.teams[*].resource[1].resourceRequestId
当我在 POST
操作中使用它时,出现以下错误:
exception":"org.springframework.http.converter.HttpMessageNotReadableException","message":"Could not read document: Can not deserialize instance of java.lang.String out of START_ARRAY token\n
有没有一种方法可以执行 JSON.stringify() 等将值转换为字符串或提取它并在 POST
请求
您发送的是数组而不是单个字符串。请记住,在 JsonPath 中使用 [*]
时,结果始终是一个数组。
And def temp = response.teams[*].resource[1].resourceRequestId
And def reqId = temp[0]
现在试试,应该可以。我们正在引入 get[0]
方便的语法,以使其在下一版本中更清晰。留意一下。