问答 各位大佬 metersphere 能否支持 json 数据,直接引用呢?

hh666 · 2023年08月16日 · 最后由 LTV 回复于 2023年08月26日 · 6454 次阅读

各位大佬 metersphere 能否支持 json 数据,直接引用呢?

比如我 上个接口提取出了一个 json 数据
{
“name”:“aaaa”,
"id":"123"
}

全部存到了一个变量 data 里面
所以 此时 data 是一个 json 数据

现在我想在后面的接口里面直接用 “name” 字段
有什么表达式可以直接提取出来么,不想提取数据存变量
${data.name},${data_name}这些都没用,想问问有没有类似的方法

😁

共收到 8 条回复 时间 点赞

可以试试 jsonpath 表达式,$.data.name,不知道可行否,没用过那个工具,不过应该和 jmeter 差不多吧

postman ,ms ,apipost,apifox 等都有这个问题
参数维护不面向对像且不能自动转换 , 如参数得复杂 json 只能写 json ,通常大家对表单比较熟悉, 批量维护 KV 自动转 JSON ,如是复杂对像,支持 dto.user.id 这种复杂 kye 转 josn 就爽得多,完全是向面对像的式在维护参数

参数维护方便很多,个人非常不喜欢 json schema 的方式,KV 可方便转复杂 JSON ,又可直接写复杂 JSON,这才是照顾使用人的效率和提升便利,XXX.XXX.XXX 这种才是以面向前对像的思维维护参数,且更切近表单属性。

这是 CODES 的方式

数据驱动,也是按面向对像的方式,方便复杂 JOSN 的结构,传统的数据驱动,只方便 KV 方式,复杂对像,表达起来费劲,我们依然采用 xxx.xx.xx 这种对像属性访问形式。依然采用 xxx.xx.xxx 这种对像属性访问形式,即支持简单 KV ,又能一行表示一个 json 对像,直观又易于理解

做工具还是要创新

从接口 body 提取的时候为何不直接用 jsonpath 提取到对应的值呢

1.提取的时候直接取你要的数据 name,下个入参变量直接用就好了
2.提取出来是个 json,下一个接口前置处理器用脚本把 name 提出来

有一个 json 提取器,直接可以提取,或者直接写代码 jsonObject 去处理

codes 回复

apifox 是支持这种方式的

tangoliver 回复

有道理,就是这么简单

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册