若来源是响应码,属性可为空。详细介绍请参见
响应码检查
。
若来源是响应头,属性为响应头中字段的名称。详细介绍请参见
响应头检查
。
若来源是响应体(JSON),属性有两种填写方法:
普通提取表达式(非
“$”
开头),例如
“item.name”
。
取字段中的值,支持嵌套取值。详细介绍请参见
响应体(JSON)检查
。
从响应体中提取数组时,下标可以是数字,也可以是
“key:value”
表达式,详细介绍请参见
示例:根据给定的key:value从响应体中获取字符串
。
JsonPath表达式(
“$.”
或
“$[”
开头),例如
“$.store.book[0].title”
。
详细介绍请参见
示例:根据JsonPath从响应体中获取数据
。
若来源是变量,属性为全局变量,局部变量,响应提取后的变量。详细介绍请参见
变量检查
。
字符串提取说明
在设置检查点或者响应提取时,若使用设置属性栏的表达式无法满足需求,则可以在
“高级提取类型”
处选择
“字符串提取”
功能。
使用字符串截取功能,
“类型值”
输入框有两个:
第一个框表示起始索引。首位用“0”表示,起始索引包含在截取的字符串中。
第二个框表示结束索引。结束索引不包含在截取的字符串中。
以下面响应体为例:
若需要在响应体中提取
“result”
数组第一个元素的
“code”
的5到9位,与目标值比较,则可以在
“检查点”
中进行如下配置。
若需要提取响应体中提取
“result”
数组的第一个元素的
“code”
的5到9位,赋值给变量
“code”
,则可以在
“响应提取”
中进行如下配置。
正则表达式说明
在设置检查点或者响应提取时,若使用设置属性栏的表达式无法满足需求,或者配合高级类型提取下的字符串提取功能也不能满足需求时,则可以在
“高级提取类型”
处选择
“正则表达式”
来提取。
正则表达式引擎使用Java正则表达式引擎。
以下面响应体为例:
若检查点验证响应体中
“result”
数组的第一个元素的
“remoteUrl”
,使用正则匹配得到IP值和目标值比较,则配置如下。其中,正则表达式类型值设置为
“((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)”
。
若响应提取响应体中
“result”
数组的第一个元素的
“remoteUrl”
,使用正则匹配得到IP值赋值给变量
“remoteIp”
,则配置如下。其中,正则表达式类型值设置为
“((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)”
。
示例:根据给定的key:value从响应体中获取字符串
检查体的
“属性”
字段,可输入下标为
“key:value”
格式的数组,用以实现根据给定的
“key:value”
从响应体中获取满足该条件的json串。
“key:value”
之间支持以下连接符:
数组下标支持以
“&&”
连接的多组
“key:value”
条件,表示提取的JSON串需要同时满足所有的
“key:value”
条件。例如:student[age>20&&gender=女],表示提取条件为年龄大于20岁且性别为女。
数组的搜索条件中支持嵌套数组,在此情况下子嵌套条件中的对象必须全部满足条件,才能使得子条件成立。
若value值为空对象,则需要使用
$null
,即key==$null。
若value值是null串("null"),则使用
null
,即key==null。
若value值是空串(""),则可以不写,即key==。
如果检查点的属性值中value含有特殊字符,需要使用单引号或者双引号作为边界符
eg:name=="zhangsan(ab)"
以下面的响应体(JSON格式)为例:
"status": "success",
"result": [
"name": "啤酒",
"数量": "20",
"地址": "A3库房10号货架",
"obj": {
"a": 1,
"b": "test",
"c": "测试"
"array": [
"id": 1,
"name": "aaa"
"id": 2,
"name": "bbb"
"name": "啤酒",
"数量": "10",
"地址": "A3库房10号货架",
"obj": {
"a": 1,
"b": "test",
"c": "测试"
"array": [
"id": 1,
"name": "aaa"
"id": 2,
"name": "bbb"
"name": "白酒",
"数量": "20",
"地址": "A3库房10号货架",
"obj": {
"a": 1,
"b": "test",
"c": "测试"
"array": [
"id": 1,
"name": "aaa"
"id": 2,
"name": "bbb"
"name": "白酒",
"数量": "30",
"地址": "A3库房10号货架",
"obj": {
"a": 1,
"b": "test",
"c": "测试"
"array": [
"id": 3,
"name": "aaa"
"id": 4,
"name": "bbb"
"name": null,
"数量": "10",
"地址": "A3库房10号货架",
"obj": {
"a": 2,
"b": "test",
"c": "测试"
"array": [
"id": 5,
"name": "aaa"
"id": 6,
"name": "bbb"
"name": "",
"数量": "10",
"地址": "A3库房10号货架",
"obj": {
"a": 2,
"b": "test",
"c": "测试"
"array": [
"id": 5,
"name": "aaa"
"id": 6,
"name": "bbb"
"condition": [
"name": "啤酒",
"数量": "120",
"地址": "A1库房15号货架"
"reason": null
从响应体中获取数据与对应的表达式如下表所示: