空手道 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] 方便的语法,以使其在下一版本中更清晰。留意一下。