当前位置: 首页 > 知识库问答 >
问题:

空手道API框架如何将响应值与表列匹配?

滕渝
2023-03-14

我有以下API响应样本

    {
  "items": [
             {
              "id":11,
              "name": "SMITH",
              "prefix": "SAM",
              "code": "SSO"
           },
          {
              "id":10,
              "name": "James",
              "prefix": "JAM",
              "code": "BBC"
          }
         ]
}

根据上面的回答,我的测试表明,每当我点击API请求时,第11个ID是SMITH,第10个ID是JAMES

所以我想把它存储在一个表中,并根据实际的响应进行断言

  * table person
          | id        | name       |
          | 11        | SMITH      |
          | 10        | James      |
          | 9         | RIO        |

现在我该如何一个接一个地匹配?与first类似,它解析API响应中的第一个ID和第一个名称,并与表first ID和表first name匹配

请分享从空手道做它的任何方便的方式

共有1个答案

牟子真
2023-03-14

有几种可能的方法,这里有一种:

* def lookup = { 11: 'SMITH', 10: 'James' }
* def items =
"""
[
   {
      "id":11,
      "name":"SMITH",
      "prefix":"SAM",
      "code":"SSO"
   },
   {
      "id":10,
      "name":"James",
      "prefix":"JAM",
      "code":"BBC"
   }
]
"""
* match each items contains { name: "#(lookup[_$.id+''])" }

您已经知道如何使用table而不是JSON。

请阅读文档和其他堆栈溢出的答案,以获得更多的想法。

 类似资料:
  • 例如,我试图使用匹配包含来验证模式响应和数据类型,有时它返回null,有时返回字符串。我正在尝试下面的操作,但我得到的断言失败了,因为它没有计算为true。 例如,为“firstName”返回的数据为“firstName”:null, 在比赛之前,我向每个人发送以下信息: 我不是在定义模式,我还没有弄清楚如何做到这一点,所以我不确定这是否是我的问题。我知道我应该这样做,但我还在学习。

  • 我95%的自动化框架是在空手道,工作得很好。我们需要检查应用程序日志中显示的中间结果的功能很少(不在Json响应中)。我写了一个外壳脚本,它在从邮递员手动发送请求后验证Linux机器上的应用程序日志。我使用eclipse的JSCH库调用这个脚本。 有没有什么方法可以让我从空手道发送请求,然后调用我的JSCH类进行验证,这样就可以避免手动发送请求的步骤? 谢谢,阿比

  • 我想要帮助验证API响应使用空手道框架。我有相互“独立”的应用编程接口。当我打那个特定的API得到了不同参数的响应(没有单一的匹配从请求参数和响应参数)。 现在我想验证响应参数值。 示例:请求:“方法”帖子 学校名称:“abcd”注册日期:“1:10:2010” 回复:原则名称:“pqrs”原则电子邮件idpqrs@gmail.com 现在我想验证“主名称”不应该为空 我已经像这样实现了,但它不起

  • 我如何将值从空手道API传递到Java类? 正如文档中提到的,我使用了以下代码段从Java API获取响应。但它返回带有未格式化的JSON内容的响应。 然后,我使用以下脚本打印响应。 多谢了。

  • 如何从空手道API中的json响应中检索数值? 在这里我想检索41651625424这个值在一个变量因为我必须通过这作为输入在另一个请求体

  • 我有一个来自使用空手道框架的api的响应,这是这样的东西… 现在,从上面的响应中,我如何验证“timestamp”字段,即最新的2个时间戳值中的“timestamp”字段,以便我可以从name字段中获取相应的json文件。