jmeter之关联的使用(正则、json)
部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来
目录
1、应用场景
2、jmeter正则提取器
3、正则提取规则
4、简单的接口应用
5、jmeter的JSON Path Extractor 插件
1、应用场景
当一个接口的参数依赖于上一个接口的返回值时,且上一个接口返回值是动态的(一般这个动态值为字母和数字的组合),这时候需要用jmeter的关联工具将2个接口关联起来


2、jmeter正则提取器
jmeter有几个实现关联的组件,有一个最常用的是正则提取器,是一个后置处理器

3、正则提取规则

引用名称:为需要提取的参数值命名,在下一个接口的参数值的地方填写${命名}来引用
正则表达式:用正则表达式提取参数值,将需要填写值的地方,用括号括起来,括号中是正则匹配表达式(.:匹配任何字符串;+:一次或多次;?:非贪婪匹配,在找到第一个匹配项后结束)。更多规则可参考:http://www.runoob.com/regexp/regexp-tutorial.html
模版:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$$3$等等,表示解析到的第几个值给引用值。如:$1$表示解析到的第1个值
匹配数字(0代表随机值):1代表全部取值,通常情况下填0或者不填
缺省值:如果参数没有取得到值,那默认给一个值让它取。
4、简单的接口应用
登录接口应用:
有的登录接口,除了帐号密码作为参数,还会有一个token之类的作为参数,而通常这个token是动态的,这时候就需要使用到关联
第一次请求获取token:

用正则提取器提取上一个请求的返回值,并作为第二次请求的参数

响应成功:

删除的接口应用:
新增一条信息,接着又想再删除,但这时候并不知道这条信息的id,这时候也可以使用关联
新增的接口:

删除的接口:

响应结果:

5、jmeter的JSON Path Extractor 插件
下一个接口的请求参数是上一个接口返回的json串中的值,这时候需要使用JSON Path Extractor这个插件
如下图所示:


jmeter工程:
添加json值提取插件,并填写提取表达式

填写参数和参数化的值
正确响应

关于json提取表达式的填写:
以图为例,若要提取user中的id,则json的表达式为:$.user.id 若要若要提取user中的usrname,则则json的表达式为:$.user.username

注意:
1、需要添加上cookies管理器,不然第二个请求缺少请求头信息,也会请求失败
2、在新增和删除时,要求是在线用户,这时候可以使用信息管理器或者cookies管理器来保持登录,本篇没有这样处理,直接将登陆接口结果用cookies管理器来管理起来
jmeter之关联的使用(正则、json)的更多相关文章
- jmeter压测学习3-提取json数据里面的token参数关联
前言 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值. 上一个接口返回的token作为下个接口的入参. 案例场景 我现在有 ...
- 【jmeter】关联-正则表达和xpath
话说LoadRunner有的一些功能,比如:参数化.检查点.集合点.关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下. JMeter的关联方法有两种:后置处理器-正则表达式 ...
- Jmeter之关联——常用提取器
Jmeter关联 所谓关联,从业务角度讲,即:某些操作步骤与其相邻步骤存在一定的依赖关系,导致某个步骤的输入数据来源于上一步的返回数据,这时就需要“关联”来建立步骤之间的联系. 简单来说,就是:将上一 ...
- Jmeter(二)关联
phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理 ...
- jmeter对响应结果做正则、json、xpath结果测试
上面的返回结果可用于关联取值测试 具体用法详见http://www.cnblogs.com/xinjing-jingxin/p/8554338.html http://goessner.net/art ...
- 『动善时』JMeter基础 — 35、JMeter接口关联【JSON提取器】详解
目录 1.JSON提取器介绍 2.JSON提取器界面详解 3.JSON提取器的使用 (1)测试计划内包含的元件 (2)HTTP Cookie管理器内容 (3)用户登陆请求界面内容 (4)JSON提取器 ...
- Jmeter -- 上下文关联(JSON提取器)
目标: 将请求A响应数据的部分内容提取出来,保存成变量供后续请求使用(用在返回格式为json的HTTP请求中) 步骤: 1. 添加JSON Extractor后置处理器 add --> post ...
- jmeter数据关联_后置处理器_正则表达式提取器
- 6.Jmeter 参数关联设置
Jmeter的参数关联其实就是参数变量的在不同的采样器(sampler)的存储与传递. 如下我们有一个请求例子. 1. 发起下订单(下订单成功后会返回一个订单Id) 2. 针对该订单进行支付(需要 ...
随机推荐
- levelDB SSTable-静态布局结构
SSTable是Bigtable中至关重要的一块,对于LevelDB来说也是如此,对LevelDB的SSTable实现细节的了解也有助于了解Bigtable中一些实现细节. 本节内容主要讲述S ...
- JVM调优 — 命令大全(jps jstat jmap jhat jstack jinfo)(转)
运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole.大名鼎鼎的VisualVM,IBM的Memory Analyzer ...
- Python笔记(读取txt文件中的数据)
在机器学习中,常常需要读取txt文本中的数据,这里主要整理了两种读取数据的方式 数据内容 共有四列数据,前三列为特征值,最后一列为数据标签 40920 8.326976 0.953952 3 1448 ...
- Mysql8- Public Key Retrieval is not allowed
在使用 MySQL 8.0 时重启应用后提示 com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public ...
- MySQL 5.7安装(linux)
https://blog.csdn.net/li_Dijkstra/article/details/79354385 https://blog.csdn.net/li_Dijkstra/article ...
- python实现通过企业微信发送消息
实现了通过企业微信发送消息,平时用于运维的告警还是不错的,相对于邮件来说,实时性更高,不过就是企业微信比较麻烦,此处不做过多解释. 企业微信api的详细请看:http://work.weixin.qq ...
- [Luogu1436]棋盘分割(动态规划)
[Luogu1436]棋盘分割 题目背景 无 题目描述 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的两部分中的任意一块继续如此分割,这样割了(n-1)次后, ...
- openGL如何在改变窗口大小时,使自己的图形不被拉伸
这里要注意两个概念:视口和视景体,当视口的纵横比和视景体的纵横比相同的时候,改变窗口大小,图像才不会变形: 视景体是指成像景物所在空间的集合.它是一个空间集合体. 单个的视景体,比如一个球体,若要完全 ...
- 【Kickstart】2018 Round (Practice ~ C)
Practice Round Problem A GBus count (9pt/15pt) (2019年1月14日,kickstart群每日一题) 题意:有一条笔直的大路,上面有城市编号从 1 开始 ...
- postgresql相关sql集锦
1.类似于oracle的listagg->string_agg SELECT area_county,)total FROM project_info GROUP BY area_county ...