Jmeter学习笔记(十九)——后置处理器之正则表达式的使用
一、正则表达式提取器的作用
允许用户从服务器的响应中通过使用perl的正则表达式提取值。作为一个后置处理器,该元素会作用在指定范围的取样器,应用正则表达式,提取所需要的值,生成模板字符串,并将结果存储到给定的变量名中。
如果有这样的情况:一个完整的操作流程,需要先完成某个操作,获得某个值或数据信息,然后才能进行下一步的操作(也就是常说的关联/将上一个请求的响应结果作为下一个请求的参数)。这个时候就可以使用上正则表达式提取器了
二、正则表达式提取器页面说明

说明:
后置处理器:在请求结束或者返回响应结果时发挥作用
APPly to:作用范围(返回内容的断言范围)
Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器
Main sample only:仅作用于父节点的取样器
Sub-samples only:仅作用于子节点的取样器
JMeter Variable:作用于jmeter变量(输入框内可输入jmeter的变量名称)
要检查的响应字段:需要检查的响应报文的范围
主体:响应报文的主体,一个网页页面的内容,除了信息头以外的内容
Body(unescaped):主体,响应的主体内容且替换了所有的html转义符,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用
Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能
Response Headers:响应信息头
Request Headers:请求信息头
URL:统一资源定位符,即Internet上用来描述信息资源的字符串
Response Code:响应状态码,比如200、404等
Response Message:响应信息
引用名称(Reference Name):Jmeter变量的名称,存储提取的结果;即下个请求需要引用的值、字段、变量名(例子中我提取的是SOCIAL_NO)
引用方法:引用方法:${引用名称}
正则表达式(Regular Expression):使用正则表达式解析响应结果,“()”表示提取字符串中的部分值,请不要使用“||”,除非你本身需要匹配这个字符。
下面是常用的正则表达式操作符:
():括起来的部分就是要提取的。

模板(Template):模板,用来从匹配的结果中创建一个字符串,这是通过正则表达式匹配出来的一组值,语法为:$1$指代第一组,$2$指代第二组,$0$指代整个匹配结果
匹配数字(Match No):匹配数字,指明哪一个匹配结果值将被使用,正则表达式一般会有多个匹配结果。使用:0,表示Jmeter任选一个匹配值,使用:正整数N,表示Jmeter选择第N个值进行匹配,使用负数表示选取所有的值,一般与ForEach控制器配合使用
缺省值:如果正则表达式没有匹配到数据,引用变量将会返回一个默认值,在调试中此功能很有用,如果没有设置默认值,那么很难分辨出正则表达式是否有匹配到数据或使用是否正确,当然你也可以根据你的测试需求,在调试完成后去掉默认值的设置
提取到的参数,调用时用${SOCIAL_NO_1},${SOCIAL_NO_2}...,如果想要得到匹配出的参数的个数,用${SOCIAL_NO_matchNr},如果想随机选取一个,只需要将
匹配数字设为0,使用${SOCIAL_NO}调用即可。
三、使用实例
1、比如需要提取如下响应文本中的 “<title>百度一下,你就知道</title>” 里面的 “百度一下,你就知道”

2、设置正则表达式提取器

3、引用提取出来的值

4、查看结果

参考博文:
https://www.cnblogs.com/imyalost/p/6485754.html
https://www.cnblogs.com/wuyepiaoxue/p/5661194.html
Jmeter学习笔记(十九)——后置处理器之正则表达式的使用的更多相关文章
- python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法
python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...
- JMeter 后置处理器之正则表达式提取器详解
后置处理器之正则表达式提取器详解 by:授客 QQ:1033553122 1. 添加正则表达式提取器 右键线程组->添加->后置处理器->正则表达式提取器 2. 提取器配置介绍 ...
- (C/C++学习笔记) 十九. 模板
十九. 模板 ● 模板的基本概念 模板(template) 函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 语法: template <<模 ...
- yii2源码学习笔记(十九)
view剩余代码 /** * @return string|boolean the view file currently being rendered. False if no view file ...
- jmeter后置处理器之正则表达式
一.基本用法——提取某个值 场景:提取某个值,保存成变量,供后面的接口使用 步骤: 1.运行脚本,从响应结果中查找要提取的值,找到左右边界. 例如要获取“patientInfoId”作为下一个请求的参 ...
- JMeter学习(十九)JMeter测试MongoDB
JMeter测试MongoDB性能有两种方式,一种是利用JMeter直接进行测试MongoDB,还有一种是写Java代码方式测试MongoDB性能. 第一种方法 1.编写Java代码,内容如下: pa ...
- Java基础学习笔记十九 IO
File IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再 ...
- Java基础学习笔记十九 File
IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据 ...
- Oracle学习笔记十四 内置程序包
扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...
随机推荐
- t5_sumdoc.txt
C:\Users\Administrator\Documents\sumdoc 2019\sumdoc t5 final\sumdoc t511C:\Users\Administrator\Docum ...
- [转]怎样与 CORS 和 cookie 打交道
原文地址:https://segmentfault.com/a/1190000018756960 前言 CORS 与 cookie 在前端是个非常重要的问题,不过在大多数情况下,因为前后端的 doma ...
- java http get/post请求
一.http get/post请求 /** * @Description httpPost请求 */ public static String httpPost(String url, String ...
- server computer anaconda
star@xmatrix:~/Anaconda$ star@xmatrix:~/Anaconda$ conda create -n wind1 python=3.6Solving environmen ...
- IfcBuildingElement
IfcBuildingElement /* Generated By: IFC Tools Project EXPRESS TO JAVA COMPILER: Do not edit this fil ...
- notepad++去掉红色波浪线
1 在notepad++的首页上找到插件菜单,并点击打开插件设置的下拉菜单. 2 下拉菜单中有一个菜单项是DSpellCheck,这个菜单项的子项中有一项是Spell Check Document ...
- (转载)人脸识别中Softmax-based Loss的演化史
人脸识别中Softmax-based Loss的演化史 旷视科技 近期,人脸识别研究领域的主要进展之一集中在了 Softmax Loss 的改进之上:在本文中,旷视研究院(上海)(MEGVII Re ...
- C++内存管理3-探讨C++内存和回收
1 C++内存对象大会战 如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛. 用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性 ...
- Ubuntu14 配置开机自启动/关闭
1.ubuntu默认运行级别为2(runlevel),所以在/etc/rc2.b中S开头的链接文件(连接到/etc/init.d)就是自启动项.不想开机自动启动可以把S开头的文件重命名或删除,重命名好 ...
- svg轻松实现文字水印
1. 水印图片生成采用svg,这样可以运行时生成名字或其他信息的图片 svg模板 <svg xmlns="http://www.w3.org/2000/svg" xmlns: ...