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…

第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最简单…

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) 在以原点为中心的一个圆内无衰减地通过所有频率,而在这个圆外“截止”所有的频率的二维低通滤波…

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

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

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

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

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

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

pandas删除某列有空值的行_Python-零基础学习Pandas知识点整理(2)

DataFrame数据的清洗--预处理操作import pandas as pdimport numpy as np#DataFrame数据框行或列的删除#df.drop(labelsNone,axis0,indexNone,columnsNone,levelNone,inplaceFalse,error"raise")#labels 表示需要删除的行或列的标签,多行或多列用列表传入…

第4章 Python 数字图像处理(DIP) - 频率域滤波12 - 选择性滤波 - 带阻

目录选择性滤波带阻滤波器和带通滤波器陷波滤波器选择性滤波 处理特定的频带的滤波器称为频带滤波器 带阻滤波器: 若某个频带中的频率被滤除 带通滤波器: 若某个频带中的频率被通过 处理小频率矩形区域的滤波器称为陷波滤波器 陷波带阻滤波器&#x…

python打包工具报错_python打包生成exe报错

如图所示 如果出现的是这个问题可以可以考虑以下方法 首先卸载原先下载的 Pyinstaller pip uninstall pyinstaller 再执行以下代码,去github上下载 pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip 注释:再次打包&#xff…

去除lcd图片的摩尔纹_宝妈时尚产后有妊娠纹怎么办?教你这三招,轻松修复肚皮!...

产后肚子上长妊娠纹,相信是很多妈妈的痛点。首先我们来介绍一下什么是妊娠纹。由于妊娠期荷尔蒙的影响,加之腹部膨隆使皮肤的弹力纤维与胶原纤维损伤或断裂,腹部皮肤变薄变细,出现一些宽窄不同、长短不一的粉红色或紫红色的波浪状…

anaconda 换清华镜像源 windows

方法1 Windows 下安装好Anaconda 应该会有如下这些应用,我们打开如下图anaconda Prompt(下面简称prompt),(当然CMD也可以,只是我比较喜欢用prompt) 打开如下图 使用下面命令,即可以添加清华镜像 conda config --add channels …

提高表格可读性的一些技巧

表格的应用由于工作原因,经常接触到表格。我们发现,表格不但广泛的运用在各类数据收集和分析,同时通过表格这样一种二维矩阵来整理和陈列信息时(即便最后的展示方式并非一个典型的表格样式),能够很好的表达…

分页第一页用0还是1_如何设计api分页

常规的分页方式API处理分页看似简单,实际上暗藏危机。最常见的分页方式,大概是下面这样的/users/?page1&limit5//服务端返回最理想的情况下,客户端请求第一页的5条数据,服务端如常返回,比如下图:拿Twitter的图用一…

数据挖掘肿瘤预测_科研套路不嫌多,数据挖掘发3分

解螺旋公众号陪伴你科研的第2003天如何复现一篇3分生信研究做科研需要先学习套路,才能超越套路。今天给大家介绍的套路文献是今年发表在《Oncology reports》(IF 3.041)上的一篇文章。文章的标题虽然看上去比较泛,但也让读者一眼就能知道主题了&#xff…

Jupyter notebook 导出PDF的3种方法

很多用Jupyter notebook的都想导出PDF,但是我们点击Download as PDF via LaTex. 然后呢? Ohzzzzzzzzz 出现下图的错误,看到这里感觉糟糕透啦。虽然可以根据提供的方法解决这个问题。下面我说说我的方法吧。 方法1 打开jupyter notebook&a…