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

then().extract().body().jsonPath().getString("")作用及Groovy Json报错排查

Cucumber测试validateError方法解析与报错问题

方法功能说明

这个validateError方法是Cucumber接口测试里用来验证错误响应的工具方法:

  • 参数name(当前传入值为Bob):代码里完全没用到这个参数,不会从它提取任何内容
  • 参数errorTable:从Cucumber场景的表格数据中读取预期错误信息,转成Map<String, String>后,用来获取预设的errorCode(错误状态码)和errorMessage(错误消息)
  • 核心逻辑:
    1. 尝试用JsonPath提取整个接口响应体(getString("")表示把整个JSON结构转为字符串)
    2. 校验接口响应的状态码是否符合预期
    3. 校验响应内容中包含预设的错误消息

报错原因分析

抛出的错误:

原因:groovy.json.JsonException:第1行第1列词法分析失败,读取'B'时无法识别有效的JSON值或标点符号。

这说明接口返回的不是合法JSON格式内容,而是以字符'B'开头的纯文本(比如直接返回了"Bob"或其他非JSON字符串),导致JsonPath解析器无法识别,抛出语法错误。

疑惑解答

这段代码不会从name参数提取结果,它的目标是从接口响应体中提取JSON内容,但当前接口返回的是非JSON文本,所以才触发了报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:40:45