空手道 - 无法执行匹配操作 - 实际值不是字符串

Karate - unable to perform match operation - actual value not string

Scenario Outline: Verify retreiving endpoint for particular system
  Given path 'kites/<id>'
  When method get
  Then status 200
  And match response contains "<orgid>"

  Examples:
    | kites                    | orgid                    |
    | 56338e32e4b0846c32c0732e | 56338e32e4b0846c32c0732e | 

我收到以下错误:

com.intuit.karate.exception.KarateException: path: $, actual:
{
     "orgId": "56338e32e4b0846c32c0732e",
     "name": "Supplier Management"
}
expected: '56338e32e4b0846c32c0732e', reason: actual value is not a string

我尝试使用 <orgid>"<orgid>",但我遇到了同样的错误。 任何帮助将不胜感激。

你的例子中有很多地方我不明白。 <id> 从哪里来? kites 列在哪里使用?

最严重的问题是您正在使用 orgid 但实际 JSON 有一个密钥 orgId。请不要犯基本错误并重试。

你不应该尝试做这样的事情吗:

And match response contains { orgId: "<orgid>" }

编辑:由于对上述内容有抱怨(我觉得很失望),我添加了另一个选项:

And match response.orgId == "<orgid>"