1.说明

有时候需要将前一个请求返回的数据作为下一个请求的参数时,我们就需要正则表达式提取器。使用正则表达式提取器去提取我们想要的部分再传入后面的请求中。

(之前看了一篇不错的博客,可以参考学习 https://blog.csdn.net/quiet_girl/article/details/50681413)

2.案列说明

以报告系统编制人员为例,编制人员创建一条记录,创建成功返回参数,其中包括该条记录ID,并且要将ID的值取出来作为之后请求的参数

3.步骤

第一步:添加正则表达式提取器

HTTP请求 鼠标右键 =>添加 后置处理器 =>正则表达式提取器

在该模块(创建一条记录)上添加Debug Sampler及察看结果树

控制器 => Sampler => Debug Sampler(用来查看正则表达式提取的内容)

第二步:提取请求返回的我们需要的内容

返回数据({"result":true,"success":"success","dataFormat":"TEXT","resultCode":0,"attributes":[{"ID":"6487f19951f741a08d27b204167b55a3"}],"message":"null"})

请求二需要的数据6487f19951f741a08d27b204167b55a3     "ID":"(.+?)"

(1)引用名称:下个请求将要引用到的变量名;

(2)正则表达式:提取自己想要的内容的正则表达式,小括号()表示提取,即对于你想要提取的内容需要用它括起来;

(3)模板:使用提取到的第几个值。因为可能有多个值匹配,所以要使用模板。从1开始匹配,一次类推。这里只有一个,所以填写$1$即可;

(4)匹配数字:表示如何取值。0代表随机取值,1代表全部取值。这里只有一个,填1即可;

(5)缺省值:表示没有取到值的话,默认给它的值。一般不填。

若上传两个文件,返回数据为:

{"/a76528ded4d240df88b9802391b1db91/19de4b1906e34dc18a75b4831ea1521d/epw-admin-hegezhang.png":{"Path":"eb90d6fd9bba4f508a51dbb6258f729d/a76528ded4d240df88b9802391b1db91/19de4b1906e34dc18a75b4831ea1521d/epw-admin-hegezhang.png","treePreview":"png","Filename":"epw-admin-hegezhang.png","File Type":"png","Preview":"images/fileicons2/png.png","Error":"","Index":0,"ID":"eb90d6fd9bba4f508a51dbb6258f729d","Properties":{"Size":67391,"Date Modified":"2017-04-13 17:50:11.0","filemtime":1492077011000},"Code":""},"/a76528ded4d240df88b9802391b1db91/19de4b1906e34dc18a75b4831ea1521d/epw-bz-1.pdf":{"Path":"fe529da0aec74c0bb2057cc8196e9482/a76528ded4d240df88b9802391b1db91/19de4b1906e34dc18a75b4831ea1521d/epw-bz-1.pdf","treePreview":"pdf","Filename":"epw-bz-1.pdf","File Type":"pdf","Preview":"images/fileicons2/pdf.png","Error":"","Index":1,"ID":"fe529da0aec74c0bb2057cc8196e9482","Properties":{"Size":227230,"Date Modified":"2017-04-13 17:50:11.0","filemtime":1492077011000},"Code":""}}

需要取出数据fe529da0aec74c0bb2057cc8196e9482如下设置即可:

若返回如下格式:

{

:   "result":true,

:   "data":"{\"fileName\":\"MU0xMHll.pdf\",\"fileHash\":\"bd88e1e120737851b75c767fe5e01151\",\"fileId\":\"f6a5febff0d24afdb99cb752c9eaf47d\",\"fileVisitUrl\":\"group1/M00/00/01/rBCy2lyPX3CAXlXAABQegjiQbjg612.pdf\"}",

:   "success":"success",

:   "dataFormat":"TEXT",

:   "resultCode":0,

:   "attributes":

:   [

:   ],

:   "timestamp":1552899952584

}

该接口返回值,想要获取fileName的值,则正则表达式为:"fileName\\":\\"(.+?)\\

 

第三步:取值

取值使用 ${正则表达式中引用名称}

第四步:可在Debug Sampler查看提取的内容

控制器 => Sampler => Debug Sampler(用来查看正则表达式提取的内容)

设置完成后,可以在“控制器”上Ctrl+R,运行该模块

4.复杂JSON取值方法

如果请求的返回值是简单的JSON类型,则可以使用”JMeter中的正则表达式提取器”;如果返回的JSON类型比较复杂。则需要借用插件来提取自己所需要的值

JMeter插件(JSON PATH Extractor)我的百度云里有,有需要的可以联系我

第一步:添加JMeter插件(JSON PATH Extractor)

将lib中的三个jar包复制到JMeter安装目录下lib目录下

accessors-smart-1.1.jar

json-path-2.2.0.jar

Json-smart-2.2.1.jar

将ext中的两个jar包复制到JMeter安装目录下lib下的ext目录下

Jmeter-plugins-json-2.3.jar

Jmeter-plugins-manager-0.10.jar

复制完成之后重新启动JMeter,在对应的请求上=》右键,添加=》后置处理器

出现如下图所示,即插件安装成功

第二步:提取需要的参数

请求返回数据

{   "total": 2,

"rows": [ {     "NO": "A002",

"ID": "0e13b9b0081e4db7a06eee700485f9ee",

"FILE_ID": "77d7fa6c2891444780c5d8b698ffe0bf"

},{       "NO": "A001",

"ID": "e3d0858d90b84b59b6813b72b89a4ca2",

"FILE_ID": "d5c0ede82e0f45339cbe4f8891f6de21"

}]

}

 

Jmeter4.0----正则表达式提取器(12)的更多相关文章

  1. 【JMeter4.0学习(十)】之JMeter函数简单运用以及结合正则表达式提取器

    下面来简单的举个栗子: 首先,把函数和正则表达式提取器放在一块来介绍,如下所示: 1.结构完整展示,下面再一步一步创建添加: 2.添加线程组: 3.首先添加HTTP请求1 4.添加结果树后,运行后查看 ...

  2. JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

    前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获 ...

  3. JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

    前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). ...

  4. 将RegEx(正则表达式提取器)与JMeter一起使用

    JMeter的,最流行的开源性能测试工具,可以工作正则表达式,用正则表达式提取.正则表达式是一种用于通过使用高级操作提取文本的必需部分的工具.正则表达式在测试Web应用程序时很流行,因为它们可用于验证 ...

  5. Jmeter之正则表达式提取器

    在很多情况下,我们需要提取响应结果中的一些信息,供后续功能使用.可以使用后置处理器中的正则表达式提取器. 一.正则表达式提取器 二.配置说明 1.姓名:标识 2.注释:备注 3.Apply to:正则 ...

  6. Jmeter—5 关联 响应数据传递-正则表达式提取器

    在测试过程中,遇到一个问题:用户登录成功后服务器会返回一个登录凭证,之后所有的操作都需要带上此凭证.我们怎么获取登录凭证并传递给后续的操作? Jmeter提供了正则表达式提取器,用变量提取参数,后续通 ...

  7. JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例

    上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应 ...

  8. Jmeter正则表达式提取器的使用方法(转)

    下面简单介绍一下Jmeter正则表达式提取器的使用方法. 1.添加Jmeter正则表达式提取器:在具体的Request下添加Jmeter正则表达式提取器(Jmeter正则表达式在“后置处理器”下面)  ...

  9. Jmeter如何将上一个请求的结果作为下一个请求的参数——使用正则表达式提取器

    首先在线程组下添加两个HTTP请求, 添加好两个HTTP请求后,在每个HTTP请求下添加一个查看结果数 在第一个HTTP请求下添加正则表达式提取器 在第一个HTTP请求添加好IP地址,路径,端口号,协 ...

  10. jmeter - 关联之正则表达式提取器

    如果有这样的情况:一个完整的操作流程,需要先完成某个操作,获得某个值或数据信息,然后才能进行下一步的操作(也就是常说的关联/将上一个请求的响应结果作为下一个请求的参数): 在jmeter中,可以利用正 ...

随机推荐

  1. JS数组的sort排序

    数组sort方法排序var aa=[6,2,1,5]//默认是从小到大排序aa.sort()[1, 2, 5, 6] //下面也是从小到大排序aa.sort(function(a,b){return ...

  2. C#中如何设置日期格式

    在C#中,ToShortDateString()是用于显示短日期格式的方法,如果使用下面的语句: Label1.Text = DateTime.Now.ToShortDateString(); 那么, ...

  3. Linux ssh 不需要输入密码的方法

    采用证书的方法可以解决ssh不需要输入密码的问题. 本文采用CentOS的操作系统,创建SSH的key,并在两台或多台机器间实现信任.从而实现SSH登录不需要输入密码的功能. 首先,在一台机器上创建S ...

  4. 人物-IT-马云:马云

    ylbtech-人物-IT-马云:马云 马云 (阿里巴巴集团创始人) 马云,男,汉族,中共党员,1964年9月10日生于浙江省杭州市,祖籍浙江省嵊州市谷来镇, 阿里巴巴集团主要创始人,现担任阿里巴巴集 ...

  5. MySQL(介绍1)

    数据库(Database)是按照数据结构来组织.存储和管理数据的仓库: 也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢. 在WEB应用方面MySQL是最好的RDBMS(Relational ...

  6. 开源一个windows消息队列查看器

    windows消息简单易用,在异步消息发送场景的使用还是比较适合.为了方便查看队列中的消息和删除一些异常消息,开发了一个简单的小工具拿出来分享下. 源码地址:https://gitee.com/eab ...

  7. ViewController lifecyle(IOS学习)

    斯坦福的ios教学视频笔记一张,如下

  8. Java探索之旅(17)——多线程(1)

    1.多线程  1.1线程 线程是程序运行的基本执行单元.指的是一段相对独立的代码,执行指定的计算或操作.多操作系统执行一个程序时会在系统中建立一个进程,而在这个进程中,必须至少建立一个线程(这个线程被 ...

  9. Dialog 自定义使用2(进度条)

    1:  自定义的Dialog 代码: public class IphoneProgersssDialog extends Dialog { private Context context; priv ...

  10. SpringSecurity04 利用JPA和SpringSecurity实现前后端分离的认证和授权

    1 环境搭建 1.1 环境说明 JDK:1.8 MAVEN:3.5 SpringBoot:2.0.4 SpringSecurity:5.0.7 IDEA:2017.02旗舰版 1.2 环境搭建 创建一 ...