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

在空手道框架中验证API响应[重复]

公冶弘壮
2023-03-14

我想要帮助验证API响应使用空手道框架。我有相互“独立”的应用编程接口。当我打那个特定的API得到了不同参数的响应(没有单一的匹配从请求参数和响应参数)。

现在我想验证响应参数值。

示例:请求:“方法”帖子

学校名称:“abcd”注册日期:“1:10:2010”

回复:原则名称:“pqrs”原则电子邮件idpqrs@gmail.com

现在我想验证“主名称”不应该为空

我已经像这样实现了,但它不起作用

Feature: School info

 Background:
  * url baseUrl

 Scenario: check Principles info

  Given path ‘School info’
  And request {school name: “abcd” ,register date : “1:10:2010”}
  When method post
  Then status 200
  And match response.response contains {“type”: “Success”,”code”:20000}
  And match response.principle list[*] { “Principle name”: “#notnull”}

每当我运行这个文件时,如果提交的原则名称为空,它总是传递APIwvwnt。它只是检查成功消息(和匹配response.response包含{类型:成功,代码:20000})并传递API

共有1个答案

雍志文
2023-03-14

验证principlelist的代码没有正确的断言。

匹配每个将更方便地使用模式验证json数组

* match each response.principlelist contains {"Principal name" : "#notnull"} 
 类似资料:
  • 我一直在验证下面的回答。 当我使用空手道发出获取请求时,我会得到以下响应,我想验证它。 我试过: 它说它不是字符串。你能帮我确认一下这个请求吗?

  • 我需要验证一个JSON响应(如下所示),并检查JSON数组中是否有任何一个项的日期为createdDate。 “createdDate”实际上是作为时间戳返回的,但我没有实际值。我唯一需要验证的是今天的日期。项目的顺序也不保证。我查看了https://intuit.github.io/karate/指定的javascript宏,但它没有我正在尝试做的示例。请让我知道任何建议。

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

  • 我有以下API响应样本 根据上面的回答,我的测试表明,每当我点击API请求时,第11个ID是SMITH,第10个ID是JAMES 所以我想把它存储在一个表中,并根据实际的响应进行断言 现在我该如何一个接一个地匹配?与first类似,它解析API响应中的第一个ID和第一个名称,并与表first ID和表first name匹配 请分享从空手道做它的任何方便的方式

  • 最近我第一次开始与空手道和Yaml合作。我能够验证所有答案数据都在同一水平上的简单回答结构。但现在我不得不验证一个更复杂的结构,我花了很多时间都没有成功。 当我执行GET请求时,我会收到下一个答案: 空手道规则中没有直接的结构验证。它位于如下所示的yml文件中: 我检查了结构大约100次,当我到达这里时,我一直有相同的错误: 错误是下一个:$[1]。工厂|数据类型不匹配(列表:映射) 我尝试使用m

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