在空手道框架中验证API响应

时间:2019-01-04 05:40:04

标签: karate

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

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

示例:请求:“方法”发布

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

响应: 原则名称:“ pqrs” 原则电子邮件ID“ pqrs@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”}

每当我运行此文件时,如果提交的主体名称为null,它将始终通过API wvwnt。 它只是检查成功消息(And match response.response contains {“type”: “Success”, ”code”:20000})并传递API

1 个答案:

答案 0 :(得分:1)

您用于验证Principlelist的代码没有正确的断言。

match each对于使用架构验证json数组会更加方便

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