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

如何在Karate中使用循环生成XML格式的请求体?

Karate框架循环生成重复XML节点方案

完全可以实现,你可以按照以下步骤动态生成包含重复节点的请求体:

步骤1:定义乘客数据源

首先将所有乘客信息存入JSON数组,后续遍历该数组生成对应节点:

* def paxList = [
    { gender: 'Male', name: 'Mark' },
    { gender: 'Female', name: 'Alice' },
    { gender: 'Male', name: 'John' }
    // 可按需新增任意数量的乘客数据
]

步骤2:初始化根节点并生成子节点

先创建空的根节点<PaxDetails>,再通过karate.map遍历数据源生成所有<PaxDetail>节点,最后批量插入根节点:

// 初始化XML根节点
* def PaxDetails = <PaxDetails></PaxDetails>

// 遍历生成所有PaxDetail节点
* def paxNodes = karate.map(paxList, function(pax) {
    return <PaxDetail gender={pax.gender} name={pax.name}/>
})

// 将所有子节点插入根节点
* karate.appendTo(PaxDetails, paxNodes)

步骤3:使用生成的请求体

生成的PaxDetails变量可直接作为请求体使用,你也可以打印验证结构是否符合预期:

* print PaxDetails
* request PaxDetails
* method post

生成的XML结构和你需要的目标结构完全一致,支持动态调整乘客数量,不需要硬编码重复节点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:36:03