在写用例的时候,接口关联时,发现Postman Tests写完保存List 数据到collection,在第二个接口body处调用的时候一直报错。
报错情况如下:
根据第一个搜索结果拿到数据,存在一个list里,看控制台打印出来,类型正确,数据也对
但是在第二个接口调用,拿这个list数据进行传参,就一直报错 "error": "Unexpected token D in JSON at position 38"
看导出来的curl,发现传参的格式根本不是一个list,也是找了很多解决方案,例如加上"",我们可以看到,加上引号之后,传参变成一个字符串,和list更是大相径庭,所以这个方案也是不可的
解决方式:
原来将list存入collection 的变量里,要先转为字符串存入,在body 的时候取值,会自动识别为JSON,代码如下:
pm.collectionVariables.set("orderList", JSON.stringify(list));
我们可以看到,body这边取值,已经自己转为list了,接口返回正常
由于自己刚接触postman 的接口自动化,所以花了不少时间解决这个问题,在此做下记录,希望能帮助到有需要的人。
版权归原作者 饼子要努力 所有, 如有侵权,请联系我们删除。