首页 > 解决方案 > 在空手道框架中验证 API 响应

问题描述

我需要帮助来验证使用空手道框架的 API 响应。我有彼此“独立”的 API。我有 POST 方法和请求参数。当我点击那个特定的 API 时,得到了具有不同参数的响应(请求参数和响应参数没有单一匹配)。

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

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

学校名称:“abcd” 注册日期:“1:10:2010”</p>

响应:主体名称:“pqrs” 主体电子邮件 ID“pqrs@gmail.com

现在我想验证“principle name”不应该为空

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

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

每当我运行这个文件时,wvwnt如果提交的原则名称为空,它总是通过 API。它只是检查成功消息 ( And match response.response contains {“type”: “Success”, ”code”:20000}) 并传递 API

标签: karate

解决方案


您验证原则列表的代码没有正确的断言。

match each使用模式验证 json 数组会更方便

* match each response.principlelist contains {"Principal name" : "#notnull"} 

推荐阅读