场景:
1、验证导入站点的接口是否正确,
2、验证删除站点的功能是否正确。
对于以上2个接口用例,2的执行预制条件是1。所以这里就得把1和2做一个“关联”,用什么实现呢?
(1)json提取器
(2)正则表达提取器
作用:将前一个接口响应中的内容提取有用部分,放到后一个接口的入参中,实现关联。
正则表达式提取器,实例参考:
前提条件:
(1)配置2个接口基本信息
getRegionProvince:获得省份ID
http
ws.webxml.com.cn
get
/WebServices/WeatherWS.asmx/getRegionDataset
getSupportCityDataset:获取区ID
http
ws.webxml.com.cn
get
/WebServices/WeatherWS.asmx/getSupportCityDataset?theRegionCode=${code}
添加正则表达式提取器:
(1)引用名称:随便起,变量的名字
(2)正则表达式:用这个在响应的text文本中筛选,你要的字符。比如:我要拿北京的ID,我就直接复制下面的内容
311101
北京
然后复制到正则表达式提取器>>>正则表达式,因为原文中是换行的,再加上个 \n ,我要提取的是 311101 ,所以它换成 (.+?)
(3)模板:就是你匹配到的第几列
(4)数字:就是你匹配到的列中的行,如图就是第一列中的第一行数据
(5)缺省:意思就是默认值,上面的没匹配到就取这个值,后面的对号选上,意思就是给空字符串,不是null
楼主也不知道为啥,我执行脚本后,死活匹配不到,在线工具都显示匹配ok的,原理掌握了。
json提取器_实列参考:
前提条件如上,配置两个接口
第一步,在某个接口后面,设置json提取器
第二步,设置“HTTP头信息管理器”,只要后面的接口用到键message,就自动调用json提取器里面的值
提取周芷若的名字
接口返回:
{
“status”:200,
“data”:[{“id”:101,“name”:“张无忌”},{“id”:102,“name”:“周芷若”}]
}
json提取器配置如下:从data中取“索引值”为1的数据,再取键值为“name”的值。【索引值按照01234排序】
提取data下asin的所有值,优先使用正则,其中匹配数字-1代表取所有值。后面接口引用可以用“arin_1”,代表取的是第一个值。
响应结果:
{
“result” : {
“similar” : [{
“id” : “us-B072HFDHKY”,
“asin” : “B072HFDHKY”
}, {
“id” : “us-B073WM827B”,
“asin” : “B073WM827B”
}, {
“id” : “us-B07GY17KFZ”,
“asin” : “B07GY17KFZ”
}, {
“id” : “us-B076NYPS7M”,
“asin” : “B076NYPS7M”
}, {
“id” : “us-B07NSBBX7L”,
“asin” : “B07NSBBX7L”
}, {
“id” : “us-B077W9GHDV”,
“asin” : “B077W9GHDV”
}
]
},
“code” : 0,
“message” : “操作成功!”
}