https://www.cnblogs.com/pachongshangdexuebi/p/11733005.html

一、正则表达式提取器的作用

允许用户从服务器的响应中通过使用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学习笔记(十九)——后置处理器之正则表达式的使用的更多相关文章

  1. python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法

    python3.4学习笔记(十九) 同一台机器同时安装 python2.7 和 python3.4的解决方法 同一台机器同时安装 python2.7 和 python3.4不会冲突.安装在不同目录,然 ...

  2. JMeter 后置处理器之正则表达式提取器详解

    后置处理器之正则表达式提取器详解   by:授客 QQ:1033553122 1. 添加正则表达式提取器 右键线程组->添加->后置处理器->正则表达式提取器 2. 提取器配置介绍 ...

  3. Jmeter学习笔记(十九)——后置处理器之正则表达式的使用

    一.正则表达式提取器的作用 允许用户从服务器的响应中通过使用perl的正则表达式提取值.作为一个后置处理器,该元素会作用在指定范围的取样器,应用正则表达式,提取所需要的值,生成模板字符串,并将结果存储 ...

  4. (C/C++学习笔记) 十九. 模板

    十九. 模板 ● 模板的基本概念 模板(template) 函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 语法: template <<模 ...

  5. yii2源码学习笔记(十九)

    view剩余代码 /** * @return string|boolean the view file currently being rendered. False if no view file ...

  6. jmeter后置处理器之正则表达式

    一.基本用法——提取某个值 场景:提取某个值,保存成变量,供后面的接口使用 步骤: 1.运行脚本,从响应结果中查找要提取的值,找到左右边界. 例如要获取“patientInfoId”作为下一个请求的参 ...

  7. JMeter学习(十九)JMeter测试MongoDB

    JMeter测试MongoDB性能有两种方式,一种是利用JMeter直接进行测试MongoDB,还有一种是写Java代码方式测试MongoDB性能. 第一种方法 1.编写Java代码,内容如下: pa ...

  8. Java基础学习笔记十九 IO

    File IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再 ...

  9. Java基础学习笔记十九 File

    IO概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下次再想使用这些数据,可是已经没有了.那怎么办呢?能不能把运算完的数据都保存下来,下次程序启动的时候,再把这些数据 ...

  10. python 学习笔记十九 django深入学习四 cookie,session

    缓存 一个动态网站的基本权衡点就是,它是动态的. 每次用户请求一个页面,Web服务器将进行所有涵盖数据库查询到模版渲染到业务逻辑的请求,用来创建浏览者需要的页面.当程序访问量大时,耗时必然会更加明显, ...

随机推荐

  1. Spring Boot3 系列:Spring Boot3 跨域配置 Cors

    目录 什么是CORS? Spring Boot 如何配置CORS? 前端代码 注解配置 全局配置 过滤器配置 注意事项 什么是CORS? CORS,全称是"跨源资源共享"(Cros ...

  2. CUDA C编程权威指南:1.3-CUDA基础知识点梳理

      主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的. 1.CUDA数组 解析:CUDA数组 ...

  3. BeanDefinition解密:构建和管理Spring Beans的基石

    本文分享自华为云社区<Spring高手之路11--BeanDefinition解密:构建和管理Spring Beans的基石>,作者: 砖业洋__ . BeanDefinition是Spr ...

  4. 云图说丨初识华为云OrgID:轻松实现统一帐号、统一授权

    本文分享自华为云社区<[云图说]第282期 初识华为云OrgID:轻松实现统一帐号.统一授权>,作者: 阅识风云 . 组织成员帐号 OrgID是面向企业提供组织管理.企业成员帐号管理以及S ...

  5. 火山引擎DataLeap的Catalog系统搜索实践(一):背景与功能需求

    火山引擎DataLeap的Data Catalog系统通过汇总和组织各种元数据,解决了数据生产者梳理数据.数据消费者找数和理解数的业务场景,其中搜索是Data Catalog的主要功能之一.本文详细介 ...

  6. Solon2 的 Bean 生命周期

    Solon 框架的 Bean 是被容器托管的,所以它的生命周期只限定在容器内部: 时机点 说明 补充 AopContext::new() 是在应用初始化时执行 ::new() AopContext:: ...

  7. 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix

    前置条件:使用 Kubeadm 部署 Kubernetes(K8S) 安装 安装ingress-nginx组件(在master节点执行) 通过 ip+port 号进行访问,使用 Service 里的 ...

  8. ThreadLocal 本地线程变量详解

    概述 ThreadLocal 意为本地线程变量,即该变量只属于当前线程,对其他线程隔离 我们知道,一个普通变量如果被多线程访问会存在存在线程安全问题,这时我们可以使用 Synchronize 来保证该 ...

  9. MIGO生产订单入库写入批次特性增强

    一.生产订单入库 MIGO根据生产订单入库时,将生产订单中的字段,写入到批次特性中 二.BADI:MB_MIGO_BADI 调用BADI中的IF_EX_MB_MIGO_BADI~POST_DOCUME ...

  10. 【Qt Libraries】QUrl 的基本使用方法

    参考博客: https://www.cnblogs.com/liushui-sky/p/10892097.html https://www.cnblogs.com/ShineLeBlog/p/1495 ...