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关联的几种方式总结案例的更多相关文章

  1. jmeter关联的五种方式

    [脚本准备] 这里,我们用dummy取样器来模拟服务器的返回,通过关联获取name的值,然后接口取这个name的值,这就我们就简单模拟了请求间的依赖关系 在取样器中添加dummy取样器 搜索的关键字是 ...

  2. Mybatis中使用association进行关联的几种方式

    这里以一对一单向关联为例.对使用或不使用association的配置进行举例.  实体类: @Data @ToString @NoArgsConstructor public class IdCard ...

  3. hive 分区表与数据产生关联的三种方式

    所谓关联,可以理解为能够使用select查询到 1.load 这是最常用的一种方式 load data [local] inpath "数据路径" into table table ...

  4. Prism框架中View与Region关联的几种方式

    Prism.Regions命名空间下有2个重要接口:IRegionManager.IRegion IRegionManager接口中的方法与属性:AddToRegion().RegisterViewW ...

  5. 【jmeter】实现接口关联的两种方式:正则表达式提取器和json提取器

    关联通俗来讲就是把上一次请求的返回内容中的部分截取出来保存为参数,用来传递给下一个请求使用. 示例: 1.用户密码进行登录,登录后生成authentication 2.需要将登录接口响应结果中auth ...

  6. jmeter实现接口关联的两种方式:正则表达式提取器和json提取器看这篇就够了

    一.前言在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联. 关联通俗来讲就是把上一次请求的返回内容中的部分截取 ...

  7. mybatis多对一关联的两种方式

    第一个种是Address找到自己的user_id,扔给User,让User自己去再查一次,即使在有缓存的前提下,每遇到一个新的user_id,就会查一次,对比hibernate的话,相当于多对一eag ...

  8. PyQt5信号与槽关联的两种方式

    目录 通过QtDesigner 手动关联的方式 通过QtDesigner 单击菜单栏切换到信号槽编辑模式 单击控件并拖动鼠标到信号的接收对象上,一般为对话框自己,松开鼠标弹出信号和槽选择框 选中cli ...

  9. MyBatis笔记----多表关联查询两种方式实现

    数据库 方式一:XML 按照下面类型建立article表 Article.java package com.ij34.model; public class Article { private int ...

随机推荐

  1. 20175209 实验二《Java面向对象程序设计》实验报告

    20175209 实验二<Java面向对象程序设计>实验报告 一.实验前期准备 了解三种代码 伪代码 产品代码 测试代码 我们先写伪代码,伪代码 从意图层面来解决问题: 有了伪代码 我们用 ...

  2. 【持续跟新】剑指Offer_Java实现

    [第一题 ]二维数组中的查找 package sword_finger_offer; import org.junit.jupiter.api.Test; /** * 剑指offer习题一 二维数组中 ...

  3. 2017-12-19python全栈9期第四天第三节之iterable可迭代对象join之字符串和列表转换成字符串和range

    #!/user/bin/python# -*- coding:utf-8 -*-s = 'zd's1 = '_'.join(s)print(s1)li = ['zs','ls','ww','zl',' ...

  4. (Python)PO设计模式

    无规矩不成方圆.编写代码也是,如果没有大概的框架,管理代码将会是一件很头疼的事. 先看看笔者以前写的python脚本: 如果只有一个用例,这样看着好像挺整洁的.但是当用例越来越多后,如果元素定位发生了 ...

  5. 072、一文搞懂各种Docker网络 (2019-04-17 周三)

    参考https://www.cnblogs.com/CloudMan6/p/7587532.html   前面各个小节我们学习了 Docker Overlay .Macvlan .Flannel.We ...

  6. jmeter和loadrunner关于分布式部署测试计划的优缺点

    1.都可以实现分布式负载,相对来说loadrunner更强大一些 2.都支持在windows和linux环境的负载生成器,控制台方面,jmeter跨平台,而loadrunner不是 3.loadrun ...

  7. 微软必应地图加载错误:Uncaught TypeError: Microsoft.Maps.Location is not a constructor

    微软必应地图在chrome浏览器加载错误:Uncaught TypeError: Microsoft.Maps.Location is not a constructor, 原因是没有等待地图API加 ...

  8. 419 JQuery and BootStrap

    把葵花宝典剩下的知识讲完了 又学习了bootstrap <link rel="stylesheet" href="css/bootstrap.css"&g ...

  9. xls 打乱序列 -和给拼接字符串加上双引号

    打乱  给空列 添加函数 =RAND() ,下拉,排序,即可打乱 添加双引号: =""""&C1&"""" ...

  10. 项目Alpha冲刺(团队)-第二天冲刺

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 作业目标:描述第二天冲刺的项目进展.问题困难.心得体会 ...