jmeter中重定向多个正则表达式_2020年jmeter技术实战续集,最新技术全栈,值得收藏

在上一篇:主要介绍线程组、HTTP请求默认值、用户定义的变量、固定定时器的应用场景及实战。

以下主要介绍正则表达式提取器、调式取样器(Debug Sampler)、响应断言、HTTP信息头管理器的应用场景及实战。

一、正则表达式提取器

1、使用场景

从请求的响应结果中取到需要的内容,作为下一个接口的入参从而实现关联。比如登录后,用正则表达式获取token,其他接口携带token请求。

2、正则表达式提取器界面说明

①HTTP请求右键,依次点击添加--》后置处理器--》正则表达式提取器。

147024626f6cb7a2decdccb20b02ad02.png

②创建的正则表达式提取器页面如下:

12c8e12b4b0efa9d2a01bc9fcf33bc39.png

APPly to:

  • Main sample and sub-samples: 作用于主节点的取样器及对应子节点的取样器;
  • Main sample only:仅作用于主节点的取样器;
  • Sub-samples only: 仅作用于子节点的取样器;
  • JMeter Variable Name to use: 作用于jmeter变量(输入框内可输入jmeter的变量名称),从指定变量值中提取需要的值。

要检查的响应字段:

  • 主体:响应报文的主体,最常用;
  • Body(unescaped):主体,是替换了所有的html转义符的响应主体内容,注意html转义符处理时不考虑上下文,因此可能有不正确的转换,不太建议使用;
  • Body as a Document:从不同类型的文件中提取文本,注意这个选项比较影响性能;
  • 信息头:响应信息头;
  • Request Headers:请求信息头;
  • URL:请求url;
  • 响应代码: 响应状态码,比如200、404等;
  • 响应信息: 响应信息。

引用名称

提取结果之后的变量名称,即下个请求需要引用的值,后面引用方式是${变量名}。

正则表达式

使用正则表达式解析响应结果,()括号表示提取字符串中的部分值,前后是提取的边界内容。

一般通用的正则表达式(.+?)。

如需了解更多关于正则表达式知识,可参照:Python自动化测试-正则表达式解析一文。

模板:

如果正则表达式有多个提取结果,则结果是数组形式。若只有一组表达式,则使用$1$,两组正则匹配使用$1$$2$,以此类推。

匹配数字

正则表达式匹配数据的结果可以看做一个数组:-1表示全部,0表示随机,1表示第一个,2表示第二个,依次类推。

缺省值

如果参数没有取到值,那默认给个值,比如null。

3、实战小例子

提取登录响应结果的token:

①创建一个线程组。

②创建一个HTTP请求,用来发送登录请求,登录接口请求参数配置如下。

6aa84102badf18af7b9fd4b560ed5f08.png

③HTTP请求,右键,创建一个正则表达式提取器。

先来看下登录接口返回结果:

{    "data": {        "mobile": "12345678",        "id": 500,        "rid": 0,        "email": "adsfad@qq.com",        "username": "admin",        "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTA5MDY3MzAsImV4cCI6MTU5MDk5MzEzMH0.M3CWrgsDUMvnhkprQMBJ1wWY5OKO-mKiOD4EJ2YV4zc"    },    "meta": {        "msg": "登录成功",        "status": 200    }}

正则表达式提取token,配置如下:

a24fe3c51e25766829db627cfea6f1e1.png

④创建一个察看结果树,运行后,接口返回如下:

c009eb2d07e4d40095a41a6831365681.png

二、调式取样器

(Debug Sampler)

1.使用场景

主要用于打印出变量进行调试。比如上面例子,虽然用正则表达式提取了token,但我们并不知道token是否有正确提取,可以使用调式取样器查看。

2.调试取样器界面说明

①线程组右键,依次点击添加--》取样器--》Debug Sampler。

d35c8149166d5273dda205a226b5d972.png

②调式取样器界面如下:

f12f8c7bd2478b4fd89620609999b636.png

有三个参数Jmeter 属性,选项值默认即可。

Jmeter 属性,系统属性,一般不会变,不需要调试。

Jmeter 变量调试的是Jmeter中自定义的变量,包含如下这些自定义变量:

  • 选中线程组,右键,添加--配置元件—用户定义的变量;
  • 通过后置处理器生成的变量:Jmeter关联;
  • 使用csv参数化的变量:Jmeter参数化。

3.实战小例子

①创建线程组、HTTP请求、正则表达式提取器、察看结果树(介绍正则表达式实战例子有,这里省略创建步骤)。

②创建调式取样器(debug sampler),不需要修改,默认即可。

9126ce50e28ca44694eec7aebe53c7f2.png

③运行,在察看结果树中,选择调试取样器,可以看到token已经正常获取到。

bd74b963b3b4a1d8e4a3737d19cb71de.png

注意:一般来说调式取样器(debug sampler)用于自测使用,上线时可以删除。

三、响应断言

1.使用场景

在接口测试过程中,需要判断接口返回结果是否正确。

2.响应断言界面说明

①HTTP请求,右键,依次选择添加--》断言--》响应断言。

7538713599292ace19d669d5d11e39d7.png

②响应断言界面如下:

eb8915b820dc8226093730977ce224ba.png

Apply to:

  • Main sample and sub-samples 范围包括主取样器与所有子取样器。
  • Main sample only 范围仅限于主取样器。
  • Sub-samples only 范围仅限于所有子取样器。
  • JMeter Variable Name to use 范围包括使用的Jmeter变量。

测试字段:

响应文本:响应正文。(常用)。

响应代码:响应状态码,比如200、304、404等。

响应信息:响应消息。,比如OK、Not Modified、Not Found等。

响应头:响应请求头。

请求头:请求头。

URL样本:请求的url。

文档(文本):从各种类型的文档中提取文本。此选项开启也会严重影响性能,谨慎使用。

忽略状态:忽略响应状态。

请求数据:请求的body内容。

模式匹配规则:

包括:如果文本包含正则表达式模式,则为true。

匹配:如果整个文本与正则表达式模式匹配,则为true。

相等: 如果整个文本等于模式字符串(区分大小写),则为true。

字符串:如果文本包含模式字符串(区分大小写),则为true。

否:对断言结果进行否定。

或者:将多个测试模式以逻辑“或”组合起来。

3.实战小例子

①创建线程组、HTTP请求、正则表达式提取器、察看结果树(上面实战例子有写,这里省略创建)。

②HTTP请求右键,创建一个响应断言。我们再来看下响应结果的信息:

{    "data": {        "mobile": "12345678",        "id": 500,        "rid": 0,        "email": "adsfad@qq.com",        "username": "admin",        "token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjUwMCwicmlkIjowLCJpYXQiOjE1OTA5MDY3MzAsImV4cCI6MTU5MDk5MzEzMH0.M3CWrgsDUMvnhkprQMBJ1wWY5OKO-mKiOD4EJ2YV4zc"    },    "meta": {        "msg": "登录成功",        "status": 200    }}

断言的方式可以多种,比如断言msg、status或者msg、status一起断言,甚至你用其他返回的字段也是可以的。

这里我们用msg断言,配置如下:

5296d5c0735b6f4f2993307cae06d9d8.png

③运行后,如断言失败,在察看结果树里http请求会红色显示。

四、HTTP信息头管理器

1.使用场景

在接口测试中,有时候需要携带请求头,比如接口需要携带token进行请求,token需要放在请求头里。

2.HTTP信息头管理器界面说明

①线程组,右键,依次点击添加--》配置元件--》HTTP信息头管理器。

5bd97be6d13c6bdf394ddcfb36d0d45b.png

②HTTP信息头管理器界面如下:

f13ff27195c2fc63ede0d6baf498518f.png

HTTP信息头管理器比较简单,直接添加请求头信息的键值对就可以。

3.实战小例子

①创建线程组、HTTP请求、正则表达式提取器、察看结果树、响应断言(上面实战例子有写,这里省略创建步骤)。

②线程组下,新建一个HTTP消息头管理器。

在上面介绍正则表达式提取器,我们已经将登录后的token用正则提取出来了,这里直接引用,相当于全局设置了token,其他接口请求时会自动在请求头带上token。

在HTTP信息头管理器引用token如下:

d85b90cd3cba9f047bc381a88f60a115.png

③线程组右键,新建一个http请求,用于请求用户数据列表接口。

f4794ec3657e8277de6cc7b9ecc211f9.png

④运行后,发现用户数据列表接口在请求头自动携带了token。

8e15bb9d59e61940a5f079960b6eb1c7.png

总结:本文主要介绍正则表达式提取器、调式取样器(debug sampler)、响应断言、HTTP信息头管理的应用场景及实战。

今日问题

你在使用Jmeter过程中,常用的元件或插件有哪些?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[置顶] 均衡音效

[置顶] 均衡音效 1均衡的作用 均衡器是一种可以分别调节各种频率成分电信号放大量的电子设备,通过对各种不同频率的电信号的调节来补偿扬声器和声场的缺陷,补偿和修饰各种声源及其它特殊作用。具体来说,它的作用如下: &#xff08…

html5之web worker

Web Worker 在本文中 与 Web Worker 进行双向通信WindowTimers在 IE10 Platform Preview 4 中对 Web Worker 的更新API 参考示例和教程有关 Internet Explorer 的 Test Drive 演示IEBlog 文章规范相关主题Internet Explorer 10 和使用 JavaScript 的 Windows 应用商店应用引入了…

第4章 Python 数字图像处理(DIP) - 频率域滤波9 - 频率域滤波基础、频率域的滤波过程、低通、高通

目录频率域滤波基础频率域的其他特性频率域滤波基础知识频率域滤波步骤小结空间域和频率域滤波之间的对应关系频率域滤波基础 频率域的其他特性 频率域中的滤波过程如下: 首先修改傅里叶变换以在到特定目的然后计算IDFT,返回到空间域 # 频率域中的其…

C# :试玩EventLog

1. 专门创建Source的Log   创建了Source,log显示在 Event viewer/Applications and Services logs/ 自定义Source 中,待遇比较高,专门显示的。 创建Source需要管理员身份,否则Crash。 如果已经打开了 Computer Management,请关闭…

css 宋体_Java前端基础(一)之html/css

1.1 htmlHTML:超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的WEB开发工具:hbuilder/webstorm/vs code/eclpise最简单…

View Controller Programming Guide for iOS---(七)---Resizing the View Controller’s Views

Resizing the View Controller’s Views A view controller owns its own view and manages the view’s contents. In the process, the view controller also manages the view’s subviews. But in most cases, the view’s frame is not set directly by the view controll…

基于百度地图js进行地理定位

http://www.mengxiangchaoren.com/jquery.select.position.min.js 使用方法 $("#myCity").renderSelect({posByGps:true,bdAk:BD_AK});转载于:https://www.cnblogs.com/Brose/p/jquery_select_position.html

C#接口-接口作用

C#接口是一个让很多初学C#者容易迷糊的东西,用起来好像很简单,定义接口,里面包含方法,但没有方法具体实现的代码,然后在继承该接口的类里面要实现接口的所有方法的代码,但没有真正认识到接口的作用的时候就…

gpio的8种工作模式_Stm32之GPIO工作模式简介

GPIO的8种工作模式GPIO初始化结构体的时候,必须要配置合适的工作模式,这样才能使得IO口发挥应有的作用。工作模式大体上共分为输入输出两类,共8种,下面将介绍这8种工作模式。GPIO工作模式输入模式GPIO_Mode_AIN 模拟输入 GPIO_Mod…

vagrant,流浪汉,我又来啦。

最近学个DEVOPS2.0,讲微服务,容器华,持续部署,很到位,就一个一个工具撸一撸。。。 vagrant,以前接触过,所以上手快,,哈哈,,用时再具体配置。 virt…

dedecms最新版本修改任意管理员漏洞

此漏洞无视gpc转义,过80sec注入防御。 补充下,不用担心后台找不到。这只是一个demo,都能修改任意数据库了,还怕拿不到SHELL? 起因是全局变量$GLOBALS可以被任意修改,随便看了下,漏洞一堆&#x…

第4章 Python 数字图像处理(DIP) - 频率域滤波10 - 使用低通频率域滤波器平滑图像 - 理想、高斯、巴特沃斯低通滤波器

目录使用低通频率域滤波器平滑图像理想低通滤波器(ILPF)高斯低通滤波器(GLPF)巴特沃斯低通滤波器低通滤波的例子使用低通频率域滤波器平滑图像 理想低通滤波器(ILPF) 在以原点为中心的一个圆内无衰减地通过所有频率,而在这个圆外“截止”所有的频率的二维低通滤波…

vs2008中combox用法总结

1、判断是否为空 m_CheckPoint.GetCurSel()-1; 2、清空 m_CheckPoint.ResetContent(); 3、添加 m_CheckPoint.AddString(str); 4、获取某一索引的值 m_CheckPoint.GetLBText(j,str1);//j为索引,str1为存储变量 5、删除某一索引的值 m_CheckPoint.DeleteString(j);//…

bluecam连接步骤说明_厂家详解旋片式真空泵使用说明

旋片式真空泵是有区分单双极高速直联结构的真空泵,是用来对密封容器抽除气体的基本设备之一。旋片式真空泵的泵与电机连轴,有着高转速、外型小、结构紧凑、流动性工作方便的优点。本文所使用旋片式真空泵使用说明资料,是台冠真空泵技术团队工…

python函数中可变参数的传递方式是_Python函数可变参数定义及其参数传递方式实例详解...

本文实例讲述了Python函数可变参数定义及其参数传递方式。分享给大家供大家参考。具体分析如下: python中 函数不定参数的定义形式如下: 1、func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): print args >&…

加载中做法

一个网页在加载时,可给静态部分加个加载中,而动态部分也即是真正内容用jq来改,这样就有那个效果了转载于:https://www.cnblogs.com/yedeying/p/3618815.html

Junit4常用注解

Junit4注解 JUnit4的测试类不用再继承TestCase类了。使用注解会方便很多。 Before:初始化方法After:释放资源Test:测试方法,在这里可以测试期望异常和超时时间Ignore:忽略的测试方法BeforeClass:针对所有测…

第4章 Python 数字图像处理(DIP) - 频率域滤波11 - 使用高通滤波器锐化图像

目录使用高通滤波器锐化图像由低通滤波器得到理想、高斯和巴特沃斯高通滤波器指纹增强频域中的拉普拉斯钝化掩蔽、高提升滤波和高频强调滤波同态滤波使用高通滤波器锐化图像 由低通滤波器得到理想、高斯和巴特沃斯高通滤波器 HHP(u,v)1−HLP(u,v)(4.118)H_{HP}(u, v) 1 - H_{…

值类型 引用类型 堆栈 堆 之 异想

看了很多值类型 和 引用类型的文章(谷歌能搜索出来的)看了越多疑问越大,而这些资料中没有具体的说明。问题:1、堆栈 和 堆 分别存于计算机的哪个硬件(CPU缓存,内存,硬盘)&#xff1f…

漫步者lollipods如何调节音量_漫步者MF5扩音器体验:老师值得入手

对于教师职业来说,保护好嗓子是很重要的。每天为学生操劳,频繁的讲课,很多老师都遇上了喉咙沙哑的问题。怎么样才能保护好老师的嗓子呢?“小蜜蜂”是很多老师们的选择,这种扩音器可以挂在腰间,通过麦克风&a…