1.JSON Extractor
Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值。并保存成变量供后面的请求进行调用或断言等。
Json Path expression 的使用
JsonPath |
描述 |
$ |
根节点 |
@ |
当前节点 |
.or[] |
子节点 |
.. |
选择所有符合条件的节点 |
* |
所有节点 |
[] |
迭代器标示,如数组下标 |
[,] |
支持迭代器中做多选 |
[start:end:step] |
数组切片运算符 |
?() |
支持过滤操作 |
() |
支持表达式计算 |
示例如下:
2.正则表达式
引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:JWT,后面的引用方式是 ${JWT} 正则表达式:提取内容的正则表达式,相当于 loadrunner 中的关联函数 "()" 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来 "." 匹配除了换行符以外的任何字符 "*" (贪婪) 重复零次或更多 例如 "aaaaaaaa" 匹配字符串中所有的a 正则: "a*" 会出到所有的字符 "a" "+" (懒惰) 重复一次或更多次 例如 "aaaaaaaa" 匹配字符串中所有的a 正则: "a+" 会取到字符中所有的 a 字符, "a+" 与 "a*" 不同在于 "+" 至少是一次而 "*" 可以是0次 "?" (占有) 重复零次或一次 例如 "aaaaaaaa" 匹配字符串中的a 正则 : "a?" 只会匹配一次,也就是结果只是单个字符 a "*?" 重复任意次,但尽可能少重复 例如 "acbacb" 正则 "a.*?b" 只会取到第一个 "acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ,而 "acbacb" 最少字符的结果就是 "acb" "+?" 重复1次或更多次,但尽可能少重复,与 "*?" 一样,只是至少要重复1次 还有分组的情况,常用的就这两种,其它的可以再自行百度 "(?=exp)" 匹配exp前面的位置 "(?<=exp)" 匹配exp后面的位置模板:用 $$ 引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的),则可以是 $1$,$2$,$3$ 等等,表示解析到的第几个值给 var。例如:$1$ 表示匹配到的第一个值
匹配数字:0 代表随机取值,此时提取结果是一个数组,1 表示取出匹配到的第一个值,负数表示提取所有符合条件的值。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持免费资源网。