一、变量
1、定义
变量名 varName
2、使用
${varName}
3、操作
可以在断言中使用
取值 vars.get("varName"); 赋值 vars.put("varName","Successful"); get、put 只支持字符串格式文本。 删除 vars.remove("varName")。
getObject() 和 putObject() 支持其它的对象类型; vars.putObject("varObj",new Object());
二、JSON Extractor
names of created Variable :保存变量名,后面使用${变量名}引用 JSON Path expressions:json path表达式,如:$.data.list[0].listId Match No.(0 for Random):匹配数字(0代表随机,1代表第一个,-1代表所有) Default Values:找不到时的默认值,一般设置为 NOT FOUND Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作。
json path表达式
获取到records下所有列表的id $.result[*].id 获取data里pid为数字123的列表里的id $.data[?(@.pid==123)].id $.data[?(@.pid==${pid})].id 获取data里name为字符串123的列表里的id $.data[?(@.name=="123")].id $.data[?(@.name=="${name}")].id
JSONPath语法
JSONPath | Description |
---|---|
$ | 根对象 |
@ | 当前获取到的对象 |
. | 子元素运算符 |
.. | 递归后代运算符 |
* | 通配符匹配所有项 |
[] | 下标运算符 |
[,] | 替换名称或数组索引作为数组的筛选 |
[start:end:step] | 数组切片运算符 |
?() | 通过表达式筛选数据 |
() | 表达式 |
JSONPath | Description |
---|---|
$.store.book[*].author | The authors of all books in the store |
$..author | All authors |
$.store.* | All things in store, which are some books and a red bicycle |
$.store..price | The price of everything in the store |
$..book[2] | The third book |
$..book[(@.length-1)] | The last book via script subscript |
$..book[-1:] | The last book via slice |
$..book[0,1] | The first two books via subscript union |
$..book[:2] | The first two books via subscript array slice |
$..book[?(@.isbn)] | Filter all books with isbn number |
$..book[?(@.price<10)] | Filter all books cheaper than 10 |
$..book[?(@.price==8.95)] | Filter all books that cost 8.95 |
$..book[?(@.price<30 && @.category=="fiction")] | Filter all fiction books cheaper than 30 |
$..* | All members of JSON structure |
参考文档: