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

在ReadyAPI中如何用XPath提取XML所有ID_Question节点值?

在ReadyAPI中提取JDBC响应里所有ID_Question的值

问题说明

你用的XPath表达式//*:ID_Question本身能匹配所有ID_Question元素,但ReadyAPI默认的属性传递只会返回第一个匹配结果,需要调整方法来获取全部值。

解决方法

方法一:用Groovy脚本提取(推荐)

在JDBC请求后添加Groovy Script测试步骤,粘贴以下代码:

// 替换成你的JDBC请求步骤名称
def jdbcResponse = context.expand('${你的JDBC请求名称#Response}')
def xmlData = new XmlSlurper().parseText(jdbcResponse)

// 提取所有ID_Question的文本值,得到列表
def idList = xmlData.ResultSet.Row.ID_Question*.text()

// 转为逗号分隔的字符串(适配多数REST请求的参数格式)
def idStr = idList.join(',')

// 存入测试用例属性,供后续REST请求调用
context.testCase.setPropertyValue('ALL_ID_QUESTIONS', idStr)

// 日志打印验证结果
log.info("提取的ID列表:${idStr}")

后续REST请求中,直接用${#TestCase#ALL_ID_QUESTIONS}引用即可。

方法二:调整属性传递的匹配规则

如果你的ReadyAPI版本支持,可直接在属性传递中设置:

  • 打开JDBC请求的属性传递面板
  • XPath表达式保持//*:ID_Question
  • 在匹配规则下拉框中选择所有结果(或类似表述)
  • 设置分隔符(比如逗号),这样返回的就是所有值拼接后的字符串

验证

运行测试步骤后,查看ReadyAPI的日志面板,确认是否正确提取了所有ID_Question的值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 10:12:12