大家好啊,我是大田。
 

 

正则表达式提取器是 Jmeter 常用的 3 种后置处理器之一;

使用正则语法提取数据、能提取任何数据、缺点就是难以掌握容易忘,但是工作中大部分会使用本文例子中的情况。

正则表达式:是一种字符串匹配的模式,满足匹配条件的字符串进行提取、替换的操作。

添加位置:取样器-添加-后置处理器-正则表达式提取器

模块一:Apply to 提取数据的接口对象

1、main sample and sub-samples:对所有主请求和子请求生效

下面两个图的设置即主请求和子请求

2、main sample only:只对主请求生效(推荐使用这个)(默认选这个)

3、sub-samples only:只对子请求生效

4、jmeter variable name to use:对jmeter变量生效(在测试计划定义变量,在这用)

模块二:要检查的响应字段(主要提取的数据,只能选择一个)

1、主体:响应体(默认选这个)

2、Body(unescaped):无符号响应体,会自动忽略特殊字符,功能不稳定,一般不用

3、body as a document:响应体,会以文件形式存在(在互联网传输的接口数据都是文件),性能差

4、信息头:响应头

5、request headers:请求头

6、url:请求的url

7、响应代码:响应状态码

8、响应信息:响应状态码的信息

要检查的响应字段含义:

1、引用名称:就是匹配成功后,保存数据的变量名

2、使用正则表达式提取数据,保存到引用名称中

3、正则表达式中每有一个括号就相当于一个模板:$1$代表提取第一个正则表达式的数据(一般只选择一个)

4、匹配数字:0代表随机选择一组、1代表选择第一组、2代表选择第二组、-1代表选择全部数据

5、缺省值:当匹配失效时,保存到引用名称的值

举例:下图是提取百度网页中 title 标签下的值

配合增加调试取样器元件,看提取的字符串对不对

调试取样器元件位置:添加 -> 取样器 -> 调试取样器

运行脚本后看调试取样器即可知道提取的内容对不对

看红框第一行就是本次提取的内容

其余 3 个是 Java 语言的组合数据,不用管

    

引用百度请求(1)中正则表达式提取的内容,应用到百度请求(2)中 :${},完成关联(由于没有能使用的公开系统,参考下思路即可)

更多推荐

正则表达式提取器