Jmeter后置处理器-正则表达式提取器

原创 2018年04月17日 10:03:59

在实际测试中,我们可能会对一个接口的返回结果进行提取,校验其是否正确或者给另外的接口使用,通常会使用正则表达式对结果进行提取或者使用xpath提取。在这里主要介绍正则表达式提取器的使用。

正则表达式在众多语言中均有涉及,且语法大同小异,这里并不打算做深入介绍,本人也是略懂皮毛而已,需要在这块再下功夫。这里对Jmeter中正则表达式的使用也比较简单。

1. 在Jmeter中建立脚本,脚本如下


其中HTTP-请求-login的结果将要给HTTP请求-roleADD使用,find请求返回消息如下:


其中hlx是需要获取传给下个接口的数据。对返回数据进行提取,在find请求下加了一个正则表达式提取器:添加-后置处理器-正则表达式提取器


2. 设置正则表达式的参数:


要检查的响应字段:这里根据需要进行选择

引用名称:即是下一个接口要使用的变量名称,也是提取内容存放的变量

正则表达式:这里就是需要匹配的内容,使用()括起来,一个()与下面的模板对应;括号中内容是正则表达式的内容

                    .表示匹配任意字符

                    +表示匹配一次或者多次

                    ?表示0或1次

模板:模板使用$n$表示,此处,上面只有一个(),所以这里使用$1$,如果上面有两对(),那么模板为$1$$2$,以此类推

匹配数字:-1表示匹配到的全部,1表示匹配到的第一个,2表示匹配到的第二个......0表示随机取一个

缺省值:这里可以自己给一个,如果没有那么使用的是null

3. 添加一个后置处理器:Debug PostProcessor查看详细日志(如上图)

4. 在roleADD接口中对提取的变量引用:


可以看到这里引用的是${user_1}而不是上面的设置的${user},刚开始的时候这里引用也是${user},但是测试接口并不对,后来认真的看了一下正则表达式提取的值,才明白了。下面附图正则表达式提取的详细结果:


在上图中可以看到user为前缀的变量很多,通过观察我们就可以得知自己需要使用的是哪一个值(这块具体的细节笔者还在理解中,这里不做详细解释,避免误导他人)

5. 检查roleADD接口是否取值正确:


取值正确!

以上就是使用正则表达提取器提取接口返回结果的主要过程



jmeter后置处理器-正则表达式提取器

上方截图其实是一个正则表达式提取器的固定模式,其中第3、4、5项都可以按照上图这样填写;1、2两项每次都需要根据实际来变化。 下面具体进行说明: 1、引用名称 可以随便取名字,但是最好取一个有意...
  • kaluman
  • kaluman
  • 2017-06-08 10:37:59
  • 359

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

JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇   前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例、多参数获取,...
  • hualusiyu
  • hualusiyu
  • 2016-12-06 16:58:55
  • 445

JMeter之正则表达式提取器

ff
  • nianhuo5678
  • nianhuo5678
  • 2014-07-24 12:02:31
  • 501

Apache JMeter中正则表达式提取器的使用方法

最近发现许多JMeter的使用用户在利用正则表达式提取器作为“关联”方法时,仍然对Java正则表达式的理解上有所偏差,导致很多时候属于“撞大运”式的进行不断试错来完成正确的提取器配置项设置,从而得到正...
  • xreztento
  • xreztento
  • 2015-12-09 09:20:52
  • 4265

接口测试—Jmeter使用技巧整理

Best Practice:http://jmeter.apache.org/usermanual/best-practices1常见中文乱码问题解决:①在http请求中的content encodi...
  • cherish0123
  • cherish0123
  • 2018-02-20 14:34:06
  • 126

JMeter-后置处理器

后置处理器在Sampler运行后执行。 建议都添加后置处理器作为一个sampler的子组件(确保是作用于你需要的那个sampler,不然,他会作用与他同级的所有sampler),比如. ...
  • kdslkd
  • kdslkd
  • 2017-08-30 17:19:12
  • 1277

jmeter后置处理器之正则表达式提取器

使用这个组件时,注意使用带分组的正则表达式 使用正则分组方便提取干净数据,以免再次处理数据字符串 正则表达式在线工具推荐:点击打开链接...
  • u012338364
  • u012338364
  • 2015-12-14 14:13:11
  • 6828

Jmeter里面用到的正则后置处理器

// 提取HTML中隐藏域的值  ^(.*)$  // 提取整个response返回    My Label  "(.+:create:.+?)"   // 提取下面link的href的值    ...
  • guigui578826243
  • guigui578826243
  • 2015-11-18 11:26:57
  • 816

jmeter后置处理器JSON Extractor取多个变量值

1、需要获取响应数据的请求右键添加-后置处理器-JSON Extractor 2、如果要获取json响应数据多个值时,设置的Variable names 与JSON Path expression...
  • SayDream
  • SayDream
  • 2017-03-14 17:36:55
  • 3604

Jmeter正则表达式提取器的使用

最近在抓APP端的接口数据,然后编写用例,发现提交订单的时候需要sid,怎么把登录之后获取到的sid放到提交订单请求的http header manager里面去呢 这样就用到了正则表达式提取器了 ...
  • smj811504083
  • smj811504083
  • 2016-05-24 17:09:41
  • 1202
收藏助手
不良信息举报
您举报文章:Jmeter后置处理器-正则表达式提取器
举报原因:
原因补充:

(最多只允许输入30个字)