前言

在测试时,我们经常需处理请求返回的响应数据,比如很多时候 cookietokenAuthorization授权码 会返回在 Response headers(响应头)中,这时我们便需要从中进行提取,以供其他接口使用。

今天我们主要学习下,如何在Jmeter中通过正则提取响应数据中 Response headers 的数据。

总的设置界面如下:

发送请求,获取响应数据

首先,设置一个HTTP请求,如下:

接着,设置一个察看结果树,然后执行,得到响应数据,下图中的cookie即我们需要提取的数据:

正则提取响应数据

接下来,我们便设置一个正则提取器(用于提取出cookie),另外再设置一个调试后置处理程序(用于查看提取结果)

说明:
1.引用名称:即变量名,后续请求中可以通过 ${引用名称} 来调用
2.正则表达式:按实际情况填写
3.模板:$$表示需要哪个正则表达式获取的值,1代表第一个,-1代表全部,0代表随机
4.匹配数字:1代表第一个,-1代表全部,0代表随机
5.缺省值:如果正则未匹配到,就会使用缺省值

正则说明:
. 表示除“\r\n”之外的任意字符
* 表示匹配前面的子表达式任意次
+ 表示匹配前面的子表达式1次或多次
表示匹配前面的子表达式0次或1次
.*:贪婪匹配原则,即匹配到不能匹配为止
.*?:非贪婪匹配,即在匹配成功的情况下尽可能少的匹配

实例:存在字符串 7adbcfgfbesw ,要匹配7和b之间的字符
匹配1:使用 .* ,7开始之后,遇到第一个b不结束,继续找下一个b,直到不能匹配,即匹配到 adbcfgf
匹配2:使用 .*? ,7开始之后,遇到第一个b就结束了,即匹配到 ad

查看提取结果

以上就是本次的提取结果,在这里,如果需在后续请求使用,可通过 ${response_data} 来关联调用。

可能遇到的问题

假如,我们需提取 Set-Cookie 里的所有内容。此时,如果依然使用 .*? ,就会发现提取是不成功的,如下:

要解决这个问题也很简单,我们修改正则表达式,使用 .* 贪婪匹配原则既可以。

好了,以上就是通过Jmeter正则提取的内容,提取其他数据,如 tokenAuthorization 等的方法与上面类似,大家可以进行实践。

Jmeter正则提取请求响应数据的更多相关文章

  1. Fiddler-007-修改HTTP请求响应数据

    前文简述了如何通过 Fiddler 修改 HTTP请求 的请求参数,详情请参阅:Fiddler-006-修改HTTP请求参数. 在进行 App 测试时,经常需要修改请求参数,以获得不同的显示效果,以查 ...

  2. JMeter之修改Sampler响应数据的编码格式

    转 JMeter之修改Sampler响应数据的编码格式 问题:JMeter的sampler响应数据中有中文时,会解析出错. JMeter的Sampler中的响应数据默认的编码格式是:ISO-8859- ...

  3. jmeter正则提取值 同级目录下的值

    https://www.v2ex.com/api/nodes/show.json?name=python 接口返回: { "avatar_large": "//cdn.v ...

  4. ASP.NET Web API 记录请求响应数据到日志的一个方法

    原文:http://blog.bossma.cn/dotnet/asp-net-web-api-log-request-response/ ASP.NET Web API 记录请求响应数据到日志的一个 ...

  5. Python+requests 发送简单请求--》获取响应状态--》获取请求响应数据

    Python+requests 发送简单请求-->获取响应状态-->获取请求响应数据 1.环境:安装了Python和vscode编译器(Python自带的编译器也ok).fiddler抓包 ...

  6. mitmproxy 获取请求响应数据

    比较好的一个介绍是:https://blog.wolfogre.com/posts/usage-of-mitmproxy/ mitproxy 获取请求响应数据的代码如下: # -*- coding: ...

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

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

  8. Jmeter正则提取list中相同key的value和出现的次数

    list中如何计算某个key出现的次数以及通过正则关联参数化呢? 首先要通过正则提取出现key的value 举例:

  9. 记录一次群答问:jmeter正则提取器轻松提取一个及多个值

    图截得比较完整,电脑端浏览器放大倍数看吧^_^,手机端可以点击图片然后放大看. 一个正则提取问题 前几天,在Q群和微信群里被同时@,咨询这样一个问题:服务器返回:name="tom" ...

随机推荐

  1. 面试百度、阿里、腾讯,这134道Java面试题你会多少?

    这里一共是134道Java面试题,看看你能对几道吧! 1. Java 语言有哪些特点 2. 面向对象和面向过程的区别 3. 关于 JVM JDK 和 JRE 最详细通俗的解答 4. Oracle JD ...

  2. 搞清楚Spring Cloud架构原理的这4个点,轻松应对面试

    前言 现在分布式系统基本上都是标配了,如果你现在还在玩儿单机,没有接触过这些东西的话,权当是为你打开一扇新的大门吧. 大的单体项目 以前我们做单机系统的时候,所有的代码都在一个项目里面,只是不同的模块 ...

  3. NodeJS4-8静态资源服务器实战_构建cli工具

    Cli(command-line interface),中文是 命令行界面,简单来说就是可以通过命令行快速生成自己的项目模板等功能(比较熟悉的是vue-cli脚手架这些),把上述写的包做成Cli工具. ...

  4. java8-StreamAPI之collection归约操作

    一说明 经过前一篇的StreamAPI学习,基本的流操作我相信大家都熟练于心了,那么今天是要详细解析一下收集器(collect)这么API 前提要区分,collect(StreamAPI)与coll ...

  5. CreateDefaultBuilder方法都做了什么?

    当我们创建好一个新的ASP.NET Core Web应用时,系统会使用CreateDefaultBuilder方法,这个方法完成了以下操作: use Kestrel as the web server ...

  6. python中几种自动微分库

    简单介绍下python的几个自动求导工具,tangent.autograd.sympy: 在各种机器学习.深度学习框架中都包含了自动微分,微分主要有这么四种:手动微分法.数值微分法.符号微分法.自动微 ...

  7. [C]struct结构化数据的一些要点

    1.用typedef声明一个短语代替冗长的struct成员声明 int main(void) { typedef struct Hores Hores; struct Hores { int age; ...

  8. c语言从入门到精通的几个阶段

    本文主要结合往期学员学习阶段,因材施教整理的几个阶段学习路线知识点: 1.初级教程 初级c语言入门教程比较适合零基础的小白,这个周期一般在22天,度过这个阶段的小白,基本上已经拥有了编程思维,且能开发 ...

  9. 海康Poe 摄像头尾线与8根网线连接方法

    家里海康POE摄像头铜丝断了一根,拆开自己接了个RJ44座,线序黑. 棕. 绿. 橙. 红. 黄. 紫. 蓝 以此 对应橙白.橙.绿白.蓝.蓝白.绿.棕白.棕经测试无误,可以正常使用

  10. FCC---CSS Flexbox: Use the flex-direction Property to Make a Row

    Adding display: flex to an element turns it into a flex container. This makes it possible to align a ...