You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Karate测试框架:如何判断响应中是否存在指定参数?

REST API错误数组的测试逻辑优化

针对你的REST API响应体可能包含gg.Errors数组的场景,调整测试逻辑以覆盖三种指定情况:

优化后的测试代码

* def errors = response['gg:CreateClientRS']['gg:Errors']
* if (errors) {
    * def errorTags = errors['gg:Error'][*]['@Tag']
    * match errorTags contains 'org.codehaus.jackson.JsonParseException'
  }

场景对应逻辑

  • 场景1:无错误数组
    errors变量会被赋值为null,if代码块不会执行,直接进入下一步测试。
  • 场景2:有错误数组且包含指定异常
    提取所有错误的@Tag值组成数组,match断言验证数组中包含org.codehaus.jackson.JsonParseException,断言通过后进入下一步。
  • 场景3:有错误数组但不包含指定异常
    match断言失败,测试直接终止并抛出错误。

逻辑说明

  1. 先通过response['gg:CreateClientRS']['gg:Errors']安全获取错误节点,避免直接访问不存在的节点导致空指针报错;
  2. 使用[*]语法批量提取所有错误的@Tag值,相比只取第一个元素,能兼容多个错误的场景;
  3. 用contains断言验证目标异常是否存在,满足测试要求。

内容的提问来源于stack exchange,提问作者Stéphane GRILLON

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 13:36:31