[转帖]Jmeter正则提取器常用的几种方式

jmeter,正则,提取,常用,几种,方式 · 浏览次数 : 0

小编点评

**正则提取器的模板** * **引用名称:**用于存储提取的字符串值。 * **模板:**用于定义正则表达式的匹配内容。 * **正则表达式:**用于定义正则表达式的匹配内容。 **举例说明** 假设要提取以下JSON字符串中的`sessionId`值: ```json { "success":true, "errorCode":710000, "msg":"OK", "data": {"sessionId":"xxxxxx","isLogin":0} } ``` 可以使用以下模板和正则表达式来提取该值: ```groovy sessionId_g1 = "${jsonPath('$.data.sessionId)[$1]}" ``` 该模板首先使用`jsonPath`函数从JSON字符串中提取`data`对象的`sessionId`值。然后,使用`$1`将提取的值传递给模板的`sessionId_g1`参数。

正文

https://www.cnblogs.com/a00ium/p/10483741.html

 

使用jmeter的同学都知道,jmeter提供了各种各样的提取器,如jsonpath、Beanshell、Xpath、正则等!!!

  我们就针对正则提取器如何使用进行说明。

举例说明:假设取sessionId值

1
{"success":true,"errorCode":710000,"msg":"OK","data":{"sessionId":"xxxxxx","isLogin":0}}

首先,可以很模糊的提取一个key的value。

验证sessionId获取是否正确

再者就是准确的正则提取:

 

下面是各参数值的含义:

 引用名称:提取到的字符串要赋给哪个参数。之后就可以用${publicKeyModulus}来表示提取到的值了。如:(由于是String类型,因此需要加引号)

正则表达式:使用正则表达式提取的内容。

模板:代表要正则表达式中第几个()的匹配?建议基本上都是$1$,如果是

匹配数字:假如表达式可以匹配到多个字符串,选择第几个。一般都是1,第一个,还有注意就是-1代表取所有值

如果匹第二个?匹配数字填2即可!

缺省值:假如没匹配到,参数的默认值是多少

关于正则表达式的举例说明:

  1、提取单个字符串:
    上述例子就是提取单个字符串
      ():封装了待返回的匹配字符串。
      .:匹配任何单个字符串。
      +:一次或多次。
      ?:不要太贪婪,在找到第一个匹配项后停止。

  2、提取多个字符串:

按照sessionId_g1,sessionId_g2分别获取sessionId和isLogin


   

 

其实如果模板只有$1$一个组,取值也可以用${sessionId_g1}来取,因为它属于组1,只不过只有1个组或者后面不跟_g1默认为第一组。

如:(由于isLogin为整型,因此(.+?)不需要引号)

另外说明:如果匹配数字为-1就是代表取所有匹配到的值,如下:

借用上面的结构

那么针对这种情况如何取值?

“引用名称_第几个值_那个组”具体如下

另外:一些空字符的正则表达式!

可以匹配文档中任何一个位置。
\s 空白符
\S 非空白符
[\s\S]任意字符
[\s\S]* 0个到任意多个字符
[\s\S]*? 0个字符,匹配任何字符前的位置。

与[转帖]Jmeter正则提取器常用的几种方式相似的内容:

[转帖]Jmeter正则提取器常用的几种方式

https://www.cnblogs.com/a00ium/p/10483741.html 使用jmeter的同学都知道,jmeter提供了各种各样的提取器,如jsonpath、Beanshell、Xpath、正则等!!! 我们就针对正则提取器如何使用进行说明。 举例说明:假设取sessionId

[转帖]JMeter设置Http代理对web或者app进行录制

https://www.cnblogs.com/jingdenghuakai/p/11125846.html 一、录制web 1、首先保证JMeter的安装环境都正确。启动JMeter:在安装路径的bin目录下双击jmeter.bat (例如:D:\apache-jmeter-2.13\bin) ​

[转帖]配置Jmeter压测结果在Grafana展示

https://cloud.tencent.com/developer/article/1782473?areaSource=&traceId= 最近正在研究Jenkins的CICD,其中有个环节就是stress test 压力测试。 原打算使用 taurus 来做压测的,但是遇到了些问题,时间有限

[转帖]jmeter及serveragent的安装、常见报错及解决方法

一.说明: 1.jmeter必须在java环境下运行 2.jmeter抓包可以用自带服务器录制抓取,也可以手动网页抓取(含fiddler),也可以用badboy(更推荐手动抓取和badboy) 3.后面单独开一篇来说明各个功能的用处。 二.安装: 1.jmeter.properties配置:在jme

[转帖]JMETER性能监控之serverAgent

对linux服务器的服务进行压测时,服务器的运行情况可以通过添加插件serverAgent来观察,可以实时监控性能指标。 1 (一)环境准备 1、下载zip包ServerAgent-2.2.3.zip 2、在服务器中,创建一个文件夹serveragent,名字随便起 mkdir serveragen

[转帖]jmeter分布式执行原理

jmeter分布式执行原理https://www.jianshu.com/p/bcfc48054b1e Jmeter分布式执行原理: 1、Jmeter分布式测试时,选择其中一台作为控制机(Controller),其它机器做为代理机(Agent)。 2、执行时,Controller会把脚本发送到每台A

[转帖]JMeter分布式测试环境搭建(禁用SSL)

https://www.cnblogs.com/MasterMonkInTemple/p/11978058.html JMeter分布式环境,一台Master,一到多台Slave,Master和Slave可以是同一台机器。 前提条件: 所有机器,包括master和slave的机器: 1.运行相同版本

[转帖]jmeter压力测试

使用jmeter 进行并发压力测试。 首先需要安装好jmeter,下面以widows操作平台为例: 1、确保电脑安装并配置好java环境;具体怎么下载和配置请自行百度; 2、登录jmeter官网http://jmeter.apache.org/download_jmeter.cgi,点击如下图操作

[转帖]【Jmeter】Jmeter压力测试工具安装及使用教程(redis测试)

摘自:https://www.cnblogs.com/monjeo/p/9330464.html 一、Jmeter下载 进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可。 3.我下载的是jmeter4.0版本,对

[转帖]jmeter编写测试脚本大全

目录 一、背景 二、按照功能划分 2.1 加密处理、验签处理 2.2 jmeter 使用beanshell 编写脚本 2.3 jmeter脚本报错大全 2.4 jmeter打印log 2.5 jmeter压测java代码 2.6 jmeter读取数据保证每个线程拿到的数据唯一 2.7 jmeter设