使用Karate发起POST请求前验证JSON Payload无空值或空字符串
Karate中POST请求前校验JSON Payload的空值/Null值
实现思路
通过自定义递归函数遍历Payload的所有字段,检查是否存在null或空字符串;若检测到违规值,立即中止请求并打印指定提示信息。
示例代码
Feature: 校验Payload合法性后发起POST请求 Scenario: 检查Payload空值/Null值并执行请求 # 定义待发送的JSON Payload * def payload = { "username": "", "age": null, "address": { "city": "Beijing", "street": "" } } # 定义递归校验函数 * def validatePayload = function(obj) { for (var key in obj) { var val = obj[key]; # 检测null或空字符串 if (val === null || val === "") { karate.log("empty string or null values cant be accepted"); karate.abort(); // 中止后续所有操作 } # 递归校验嵌套对象 if (typeof val === 'object' && val !== null) { validatePayload(val); } } } # 执行校验 * call validatePayload payload # 校验通过后发起POST请求 * url 'https://your-target-api.com/endpoint' * request payload * method post * status 200
代码说明
validatePayload函数会遍历Payload的每一个字段,包括嵌套对象中的字段- 一旦发现
null或空字符串,会打印提示并通过karate.abort()直接终止后续请求流程 - 只有当所有字段校验通过时,才会执行POST请求逻辑
内容的提问来源于stack exchange,提问作者Ashish Patil
相关产品推荐
相关产品推荐

