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

Karate API:如何实现响应值的大小写不敏感匹配或多值OR验证

问题描述

我从API获取了如下JSON响应,原本写了代码验证每个响应的深层状态是否为Completed:

* match each response contains deep {Status:'Completed'}

但当状态是小写的completed时验证失败,该怎么解决?另外,如果要验证每个状态是Open或In-Progress,该怎么实现?

响应示例:

[
{
"id": "1",
"Status":"Completed"
},
{
"id": "2",
"Status":"completed"
},
{
"id": "3",
"Status":"In-Progress"
},
{
"id": "4",
"Status":"Open"
}     
]
解决方案

1. 处理大小写不匹配的问题

要让验证忽略Status值的大小写,改用正则表达式的不区分大小写模式来匹配:

* match each response contains deep {Status:/Completed/i}

这里的/Completed/i是正则写法,i标记表示忽略大小写,不管是大写、小写还是混合大小写的completed都能匹配成功。

2. 验证状态为Open或In-Progress

如果要确保每个状态只能是Open或In-Progress,可以用多选项匹配规则:

* match each response contains deep {Status: 'Open' || Status: 'In-Progress'}

如果需要忽略这两个值的大小写,同样用正则的方式:

* match each response contains deep {Status:/Open/i || Status:/In-Progress/i}

内容的提问来源于stack exchange,提问作者Vinod

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:08:17