【问题标题】:Karate- Error when comparing json objects空手道 - 比较 json 对象时出错
【发布时间】:2020-11-19 11:07:55
【问题描述】:

我正在尝试将一些参数与 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
      }
    },

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

  • 匹配 response.accessible_device_types 包含 [{"raw_name": "ABC"}]

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

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

【问题讨论】:

    标签: json object match contains karate


    【解决方案1】:

    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"}
    

    【讨论】:

    • 谢谢你.. 工作
    猜你喜欢
    • 2019-12-21
    • 1970-01-01
    • 2019-02-14
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多