我们梳理接口的时候,需要搞清楚接口之间的上下文联系,多数时候,需要取上一接口的返回值作为参数回传。
这里列举一些常用组件使用
- json提取器
- 提取某个参数
使用
- 提取数组中的某一个参数
例如要找abbr=''US"的name
- 多层提取 $.data.list[0].childern[?(@.name=="一层目录")].childern[?(@.name=="二层目录")].childern[?(@.name=="三层目录")].id
- 相对路径 $..id
- 提取包含某值 $..users[?(@.role_desc =~ /.*会员.*?/i)]
-
=~后面跟正则表达式,如果想提取包含指定字符的值,可以使用此正则: /.*指定字符串.*?/i
- i 代表大小写不敏感
-
- 提取所有值组成数组
- 提取某个参数
- json path tester的使用
点击右下角应用
重启后添加
写入返回的数据
点击执行之后,在查看结果树,输入表达式,查看提取效果
- beanshell处理:语法与java一样
- 获取变量:String name=vars.get("name");
- 赋值 vars.put("name2",name);
- 调试显示 System.out.println(name);
- 提取字母之间的值
import org.apache.commons.lang3.StringUtils;
String data=vars.get("data");
String a=StringUtils.substringBetween(data,"电话号码:",",");//提取电话号码与“,”之间的值,即电话号码String codeNo=code.substring(code.length()-4); //提取最后四位数
中文乱码处理
1.遇到的问题:遇到一个HTTP请求,是Post请求,入参是json格式,其中包含了中文地址,如:“address”: “海安路一号”。但是当接口调用完成后,实际上入参的地址变成了一堆问号???
**解决的方法:**HTTP请求配置页,编码格式设置为utf-8