karate - 在空手道框架中验证 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
解决方案
您验证原则列表的代码没有正确的断言。
match each
使用模式验证 json 数组会更方便
* match each response.principlelist contains {"Principal name" : "#notnull"}
推荐阅读
- angular - 选项模型更改时,Angular sui-select 选项不更新
- mysql - MySQL中的详尽连接
- node.js - 从 dialogflow api v1 获得授权的困难。收到错误“请求失败,状态码 401”
- javascript - 为什么正则表达式不允许字母?
- bash - bash脚本意外删除了数据库,请救援
- java - 当用户要求重复程序时如何获得总值?
- spring - 在 Spring Boot 中将复杂的 Jason 响应转换为 dto 的最佳实践
- java - 在 Spring JPA 中删除实体
- flutter - 如何在接收基于 Flutter 的 FCM 推送通知时修复应用程序崩溃
- naudio - Playing system recorded sound