空手道 - 比较 json 个对象时出错

Karate- Error when comparing json objects

我正在尝试将一些参数与 json reposne

匹配

我的实际反应是

{
  "timestamp": 1595994767386,
  "country": "MH",

  "accessible_device_types": [
    {
      "name": "ESS Client",
      "raw_name": "ABC",
      "permission": 7,
      "permission_bits": {
        "INSTALL_LIMITED_RELEASE_SOFTWARE": true,
        "INSTALL_LATEST_SOFTWARE_ONLY": true,
        "INSTALL_SOFTWARE": true
      }
    },

使用下面的语句进行比较:

报告错误原因:预期:{raw_name=ABC},原因:实际值不包含预期

  1. 看起来像是不带引号的比较。为什么要去掉引号?任何建议
  2. 如何比较"INSTALL_SOFTWARE": true

2 个选项:

* def nameAbc = {"raw_name": "ABC"}
* match response.accessible_device_types contains '#(^nameAbc)'

这将适用于 0.9.6.RC4 之后的版本:

* match response.accessible_device_types contains deep {"raw_name": "ABC"}