目录
一、后置处理器
1.json提取器
2.正则提取器
3.一个正则提取器,写多个正则提取式
二、举例说明
1.使用正则表达式提取请求的参数的时候,上面的类型选的是哪个?
2.一个正则提取器,写多个正则提取式,并使用提取出来的值
3.正则表达式是匹配多个结果吗?
三、记事本里使用正则表达式进行匹配
一、后置处理器:
1.json提取器
如果你的响应体为
json
格式,那么优先选用json
提取器。如果想要提取请求中的内容(请求
url
、请求里面的某个参数、请求的头部内容)、响应的头部内容、或者响应体格式非json
格式,这个时候优先选择用正则提取器。json提取式:
$.节点名称.二级节点名称
----- 绝对路径。$..末梢节点名称
-------相对路径(推荐)。一个json提取器写多个json提取式。
多个之间,用英文分号
;
作为分割符。此时,一定要写默认值
(default value)
,否则就会报错。
2.正则提取器:
要检查的请求的响应字段。
正则表达式中引用响应数据中的变量名称。
正则表达式:左边界(正则式)右边界。
模板:数字对应正则式。例如:
$1$
引用名称:随便取一个变量名称。
万能正则式:
.*?
====除换行符不能匹配,其它的都能匹配。.
匹配除换行符以外的所有字符(包括中文、韩文、日文等)。+
匹配1次或多次(至少要匹配一次)。\d
相当于[0-9]
,来匹配数字的。加上+
,是至少要匹配一个的意思。\w
相当于[a-zA-Z0-9_]
,来匹配英文字母和数字的字符串。正则表达式中
[]
{}
有特殊的用途。正则表达式可以用于日常日志、文本中查找信息。
3.一个正则提取器,写多个正则提取式:
分隔符用
(.*?)
绝大多数的正则表达式都是基于perl
语言的,所以大多数语言里面的正则表达式都是通用的。
但是也存在一定的差异,比如java
和python
语言里面的正则表达式就有一些差异。
现在讲的是基于perl
语言的正则表达式,所以这个和java
中的正则表达式是一样的。
这个基于perl
语言的正则表达式和python
语言里面的正则表达式有些小区别。
参考文章:高级性能测试系列《14.响应的提取--json提取器:一个json提取器写多个提取式、正则提取器:万能正则式怎么用?》,更正该文章结尾的最后2行常用正则式为:\d \d+
[0-9]+
和\w\w+
英文字母或数字的字符串
。
二、举例说明
1.使用正则表达式提取请求的参数的时候,上面的类型选的是哪个?
![f3e63c80d3c0d2f08b80aa25f6acd61a.png](https://i-blog.csdnimg.cn/blog_migrate/7bf51696faf8e9c820b61193f72723a3.png)
从url
地址里面提取所需的请求的参数值:
![74ccf283ff98cc60d3465e5eb17b3866.png](https://i-blog.csdnimg.cn/blog_migrate/a98fa52a559f54d6c2d99a987bfb5246.png)
![086a182a157f198966ce50c567f40ca3.png](https://i-blog.csdnimg.cn/blog_migrate/7b73aeafc569692d27aa6757ece34a31.png)
type=(.*?)&
![c628584c0dd6badc34df5197bfe58d01.png](https://i-blog.csdnimg.cn/blog_migrate/f9670d51c60472a7fe6c2121ade6e318.png)
2.一个正则提取器,写多个正则提取式,并使用提取出来的值
注意: 写正则表达式的时候,英文双引号可别标反了。" "
1)在一个正则提取器中,写多个正则提取式
正则表达式:gqid":"(.*?)"(.*?)token":"(.*?)"
模板:$1$$3$
![9574c4297b4716bd9dc0db1e38436c7a.png](https://i-blog.csdnimg.cn/blog_migrate/f61deb9cf782221dbd3c3a6bb3737182.png)
![108fb53b142d07f1259b6245cf7c1c38.png](https://i-blog.csdnimg.cn/blog_migrate/f13d12060b02475472de9ddf5ecdf93d.png)
2)使用提取出来的值
![9d7d665b80bce69151ada9977cc5a0f7.png](https://i-blog.csdnimg.cn/blog_migrate/5fed2b312b9cc01ac0b7d750fec5690c.png)
![f891b7804bb61fbe8db5eaba3eaac335.png](https://i-blog.csdnimg.cn/blog_migrate/c9cd78be4d6c3738d42c59bfc679170c.png)
![b321b360e181728bbd5949dfe323ee7f.png](https://i-blog.csdnimg.cn/blog_migrate/b3e2fa31fd0105132f8a960de46c18ce.png)
$1$
代表g1,$3$
代表g3。
3.正则表达式是匹配多个结果吗?
写多个的时候,模版中间的$
不能少。
![2aa9418654df7bccf04b6f39b2157ec1.png](https://i-blog.csdnimg.cn/blog_migrate/f641919bd4508d0c9377a3fad1c5c6e6.png)
![6ca8f03c1d70fc0e92bd67974d1ba464.png](https://i-blog.csdnimg.cn/blog_migrate/fd35cce6d4cb96784cc7ebc9aef6a712.png)
正则表达式:id":(\d+),(.*?)typeDesc":"(.*?)"
![d054afa135cb80b42cac48e604d641bb.png](https://i-blog.csdnimg.cn/blog_migrate/d170349ead4a50a4a2ad3676bf51d7be.png)
![2116eabe4fa9f0245b38e42475303274.png](https://i-blog.csdnimg.cn/blog_migrate/c2d9122cc15eec599183e13163cc6768.png)
![f0f01c2b2db4f94443ed0f9a6e98be83.png](https://i-blog.csdnimg.cn/blog_migrate/4d4e16a94df4b02fdc03b0eea79e8a09.png)
三、记事本里使用正则表达式进行匹配
用notepad++打开代码文件,使用正则表达式进行匹配。
1.用于文本的查找:
![cb1bc2ff15411b9e977b200889a4eb66.png](https://i-blog.csdnimg.cn/blog_migrate/a2e9e648f18255df6c0e001812cc2711.png)
2.文本的替换:
![9bedf7702719bdab28bacfde9e3fea9d.png](https://i-blog.csdnimg.cn/blog_migrate/15890187e1d6e8e5fa772a50e2d9caad.png)
所以,正则表达式不局限于jmeter
中使用。
脚本链接:
链接:https://pan.baidu.com/s/1G7HRDSfrk8Y25ltzO2CiEg?pwd=1234 提取码:1234
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。
欢迎关注 “清菡软件测试”,进群加v:qhtester,备注:学校(公司名)+姓名(昵称),否则不予通过,感谢点赞与分享!