后置处理器

后置处理器

一、json提取器

1、局限:只能提取响应体中的数据;当我们的响应结果为json时,想要从json中获取某个值,请优先选择用 json提取器

2、json提取式

  2.1 默认写法:$.节点名称1.节点名称2, 从根节点开始 多级节点之间用点号

  2.2 相对路径写法:$..你期望提取的参数值的key名称

3、提取多个值的方法:json提取器中填写match no.为一个负数

4、写多个json提取式,提取不同key值方法

  4.1 json提取式,可以写多个,多个之间用分号分割

  4.2 变量名称也要对应数量的变量名称,也用分号分割

  4.3 此时,一定要填写对应数量的 默认值(default Values),默认值之间也用分号分割

  4.4 如果match no.为0,则每一个参数都会随机取数,有可能会导致数据对不上,如果想要每一组数据都对应则指定取哪一组,可以填写1;1

 

5、接口关联:前面接口的动态响应值,作为后续接口的传入参数,则两个接口关联;在写性能脚本的时候,非必传参数,如果不是互斥的,请求尽可能的都写。

 

二、正则提取器

1、范围:可以提取响应体、响应头、响应行,也可以提取请求内容

2、正则表达式:左边界(正则表达式)右边界

  2.1  json与python中字典很相似,json中 key-value对是无序的,这个key-value键值对的顺序可能会变,如果一旦变了,我们可能取的值,就不是我们想要的了。

  2.2 正则表达式:

    2.2.1 万能正则式:.*?

    2.2.2 . 代表匹配除换行符之外的任意一个字符

    2.2.3 * 匹配0次或多次——贪婪模式

    2.2.4 ? 匹配0次或1次

    2.2.5 + 匹配1次或多次

    2.2.6 [0-9] 匹配的是数字 \d ;\D匹配非数字

    2.2.7 [a-zA-Z] 匹配所有的大小写字母

    2.2.8 \w 匹配字母或数字;\W匹配非字母或数字

    2.2.9 注意:表达式中的小括号是告诉jmeter,括号里面是正则式,所以, 这个小扩号有特殊用途,不是正则式的符号

        [] 是表达式的一个符号,代表括号里面是一个区间; {} (\d{4})匹配4个数字 \d{4,8})匹配4个以上8个以下 数字

  2.3 jmeter的正则规则,与perl语言是一致的, 与我们java、python相 似,所以这个正则,也可以通用到文本的匹配中

3、注意事项

  3.1 提取json值: key:value 这个冒号后面没有空格,不能存在空格,会匹配不到

  3.2 模板: $数字$  数字对应表达式的第几个小括号

  3.3 如果想要在一个正则提取器中写多个正则提取式: 中间的分割符 【(.*?)】,然后,模板,使用$你要的第几个正则式的序号$$你要的 第几个正则式的序号$

 

posted @ 2022-04-24 19:45  无名。。。  阅读(75)  评论(0编辑  收藏  举报