JMeter关联的几种方式总结案例
1、接口响应结果,通常为HTML、JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取。
2、对于JSON格式的数据,可以通过正则表达式、JSON Extractor插件、BeanShell 来提取。
如何通过JSON Extractor 插件来提取JSON响应结果。
需要下载插件,下载地址为:https://jmeter-plugins.org/wiki/JSONPathExtractor/
下载后解压以后将lib和lib/ext中的jar包放到安装目录对应位置,重启即可。

场景一:
需要提起的字符串是APP登录接口的响应内容中的autoToken


Variable names : 名称
JSONPath Expression:JSON表达式
Match Numbers:匹配哪个,可为空即默认第一个
Default Value:未取到值的时候默认值

这里因为返回的是json数据,$.data.autoToken,获取autoToken的值
调试:


场景1适合返回的json的autoToken只有一个的场景
场景2:
案例如下:

如果还是按照1中的方法
使用$.data.id去提取id的值时,发现获取到的数据为空
原来这个responses 的data为数组,故应为 $.data[0].id 提取第1个值

备注: JSON中 data 是一个对象数组, data[0] 代表取的是第一个数组的对象,data[*] 代表取全部对象。
.id 取的是id的值 .name取的是name的值
这里要分别取resources 和 trades 的所有id值,表达式可以写:$.data.trades[*].id (代表trades下所有子集中的id)
jmeter后置处理器 JSON Extractor取多个变量值
1、需要获取响应数据的请求右键添加-后置处理器-JSON Extractor
2、如果要获取json响应数据多个值时,设置的Variable names (后续引用变量值的变量名设置)与JSON Path expressions及Default Values的数量一定要一致;
如json体如下:
{
"msg": "success",
"code": "200",
"data": {
"total": 3,
"aList": [
{
"Time": 1501534900012,
"id": 1
},
{
"Time": 1501516732000,
"id": 2
}
]
}
}
如上定义后,
Variable names设置为id1;id2
JSON Path expressions定义为$.data.aList[0].id;$.data.aList[1].id
Default Values:0;0
变量id1取值将为2,变量id2取值为3;若取不到id1的值会根据Default Values定义默认赋值为0
可以通过添加beanshell打印id1、id2的值验证结果
print("id1:"+vars.get("id1"));
print("id2:"+vars.get("id2"));
以上是通过JSON Extractor插件提取的
下面通过正则提取:







JMeter关联的几种方式总结案例的更多相关文章
- jmeter关联的五种方式
[脚本准备] 这里,我们用dummy取样器来模拟服务器的返回,通过关联获取name的值,然后接口取这个name的值,这就我们就简单模拟了请求间的依赖关系 在取样器中添加dummy取样器 搜索的关键字是 ...
- Mybatis中使用association进行关联的几种方式
这里以一对一单向关联为例.对使用或不使用association的配置进行举例. 实体类: @Data @ToString @NoArgsConstructor public class IdCard ...
- hive 分区表与数据产生关联的三种方式
所谓关联,可以理解为能够使用select查询到 1.load 这是最常用的一种方式 load data [local] inpath "数据路径" into table table ...
- Prism框架中View与Region关联的几种方式
Prism.Regions命名空间下有2个重要接口:IRegionManager.IRegion IRegionManager接口中的方法与属性:AddToRegion().RegisterViewW ...
- 【jmeter】实现接口关联的两种方式:正则表达式提取器和json提取器
关联通俗来讲就是把上一次请求的返回内容中的部分截取出来保存为参数,用来传递给下一个请求使用. 示例: 1.用户密码进行登录,登录后生成authentication 2.需要将登录接口响应结果中auth ...
- jmeter实现接口关联的两种方式:正则表达式提取器和json提取器看这篇就够了
一.前言在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联. 关联通俗来讲就是把上一次请求的返回内容中的部分截取 ...
- mybatis多对一关联的两种方式
第一个种是Address找到自己的user_id,扔给User,让User自己去再查一次,即使在有缓存的前提下,每遇到一个新的user_id,就会查一次,对比hibernate的话,相当于多对一eag ...
- PyQt5信号与槽关联的两种方式
目录 通过QtDesigner 手动关联的方式 通过QtDesigner 单击菜单栏切换到信号槽编辑模式 单击控件并拖动鼠标到信号的接收对象上,一般为对话框自己,松开鼠标弹出信号和槽选择框 选中cli ...
- MyBatis笔记----多表关联查询两种方式实现
数据库 方式一:XML 按照下面类型建立article表 Article.java package com.ij34.model; public class Article { private int ...
随机推荐
- MySQL 主从复制实战解析
前言:前面几篇文章讲解了在应用层读写分离的配置和使用,这篇文章将来个主从复制的实战解析. 说明:主从复制,读写分离结构图 原理图 主库生成一个线程: Binlog Dump线程 1.此线程运行在主库, ...
- ECharts将折线变平滑和去掉点的属性
eries : [ { name:'your name', symbol:'none', //这句就是去掉点的 smooth:true, //这句就是让曲线变平滑的 type:'line', stac ...
- HTTP协议7之Cookie--转
Cookie是HTTP协议中非常重要的东西, 之前拜读了Fish Li 写的[细说Cookie], 让我学到了很多东西.Fish的这篇文章写得太经典了. 所以我这篇文章就没有太多内容了. 最近我打算写 ...
- 网站分析平台:是选择百度统计,还是 Google Analytics 呢?
当你拥有个人博客或个人网站时,你一定需要一个平台来分析你的网站状况.之前我在法国只是使用 Google Analytics,后来回国发现这个平台在国内受限制了,于是我找到了百度统计,目前我同时使用这两 ...
- [Deep Learning] 常用的Active functions & Optimizers
深度学习的基本原理是基于人工神经网络,输入信号经过非线性的active function,传入到下一层神经元:再经过下一层神经元的activate,继续往下传递,如此循环往复,直到输出层.正是因为这些 ...
- (二)初探Maven之设置代理和阿里云镜像
引言: 在许多公司,可能因为安全性的要求配置了代理服务器,用户无法直接访问外网,所以在项目中使用Maven必须设置好代理才能下载依赖. 并且直接从中央仓库下载依 ...
- DUMP 5 企业级电商项目
[订单模块] 创建订单 商品信息 订单列表 订单详情 取消订单 订单列表 订单搜素 订单详情 订单发货 [创建订单] 购物车勾选商品 涉及 Cart Product => 一个商品 ...
- CTypes
参考:http://docs.pythontab.com/interpy/c_extensions/ctypes/ Python中的ctypes模块可能是Python调用C方法中最简单的一种.ctyp ...
- CentOS下RPM方式安装MySQL5.6(转载)
之前的项目全都在windows系统环境下部署的,这次尝试在Linux系统环境下部署,于是这次我们组织在7台主机上安装了JDK.Maven.Jboss其中一台安装了Mysql,并将局域网配置好,终于大功 ...
- IDEA配置github并上传项目
https://www.cnblogs.com/jinjiyese153/p/6796668.html