刚刚看到一个帖子 “求助:HTTPrunner4.3.0 在提取数组类型数据后如何引用某个元素”,下面我以 MeterSphere 为例,简单说明这个场景在 MeterSphere 里怎么实现。
以 Halo 开源博客,获取文章列表接口为例,该接口返回文章列表,包含多个文章,使用 JSONPath 添加参数提取:
此时可以看到 title 参数提取实际只会提取第一个文章的 title。
添加第二个 JSONPath 参数提取 titleAll, 并将提取内容修改为 $.items[*].post.spec.title,并勾选匹配多条:
点击调试执行,并查看调试结果:
添加一个新的自定义脚本,并输入如下内容:
log.info("${titleAll_ALL}");
log.info("${titleAll_1}");
log.info("${titleAll_2}");
log.info("${titleAll_3}");
再次点击调试,并查看自定义脚本控制台输出:
可以看出针对 “在提取数组类型数据后如何引用某个元素” 这种场景,MeterSphere 的使用要更简单些。
只需要在提取参数后面加 “_数字” 引用某一个值,或者用 “参数_ALL” 引用所有值。