Jmeter的参数关联其实就是参数变量的在不同的采样器(sampler)的存储与传递。

如下我们有一个请求例子。

1.  发起下订单(下订单成功后会返回一个订单Id)

2.  针对该订单进行支付(需要传入上一步返回的订单Id)

我们进行参数关联,其实就是要在1,2 两步中间加入一个步骤。 即保存下订单接口返回的订单Id。 这样第2步的时候,我们就可以使用该订单Id 传入我们的支付接口了。

如何实现从第一部的返回响应捕获到我们的订单Id,并且保存到一个变量里,这就是我们这节里讲的关键。

Jmeter的采样器(sampler)不管什么样的采样器,都会返回“响应”。 我们就是从这个响应里捕获订单Id。  因为捕获的方式不同,所以我们可以采取不同的方式。 这里我们进一步假设第一步发起订单的报文结构。

1.  发起下订单(下订单成功后会返回一个订单Id)请求接口 , 返回的报文结构是 {"orderId":"123456"}

2.  针对该订单进行支付(需要传入上一步返回的订单Id)需要将orderId  123456 传入支付接口

如上1,2步,那么我们就是针对该 {"orderId":"123456"} 捕获到  123456 这个值,并放入到 orderId这个变量中。 这样第二步就可以直接使用。 这里我们只需要后置处理器的元素即可。 如下简单介绍 正则表达式提取器 和jsr223 postprocessor

一、 正则表达式提取器

正则表达式是用来匹配或者提取符合正则表达式规则的字符串。

二、利用jsr223 postprocessor

这里我们可以用脚本实现一些高级的用法。 因为我们的例子报文比较简单,所以实现起来也不难。

我们首先选择脚本语言是 javascript, 因为javascript处理json是非常便捷的。

代码如下

var response = JSON.parse(prev.getResponseDataAsString());

vars.put("orderId",response.orderId);

怎么样,简单的用这2种方式我们就简单的将第一步返回的orderId的值123456 保存到了orderId这个变量中。 这样我们在后面的测试当中,随时可以使用这个变量的值了。

如果利用jsr223 postprocessor,我们还可以做一些更复杂的业务处理。 比如加密,拼接字符串等。 这时候我们用脚本的方式就更加强大。

6.Jmeter 参数关联设置的更多相关文章

  1. jmeter压测学习3-提取json数据里面的token参数关联

    前言 现在很多接口的登录是返回一个json数据,token值在返回的json里面,在jmeter里面也可以直接提取json里面的值. 上一个接口返回的token作为下个接口的入参. 案例场景 我现在有 ...

  2. 【jmeter】关联-正则表达和xpath

    话说LoadRunner有的一些功能,比如:参数化.检查点.集合点.关联,Jmeter也都有这些功能,只是功能可能稍弱一些,今天就关联来讲解一下. JMeter的关联方法有两种:后置处理器-正则表达式 ...

  3. 5.如何使用jmeter参数话

    参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者更好的模拟多个用户来登录系统.这个时候就需要对用户名和密码进行参 ...

  4. loadrunner 脚本优化-关联设置

    脚本优化-关联设置 by:授客 QQ:1033553122 关联的原理 关联也属于一钟特殊的参数化.一般参数化的参数来源于一个文件.一个定义的table.通过sql写的一个结果集等,但关联所获得的参数 ...

  5. LR中日志参数的设置

    LR中日志参数的设置 1.Run-Time Setting日志参数的设置 在loadrunner的vuser菜单下的Run-Time Setting的General的LOG选项中可以对在执行脚本时Lo ...

  6. Jmeter之关联——常用提取器

    Jmeter关联 所谓关联,从业务角度讲,即:某些操作步骤与其相邻步骤存在一定的依赖关系,导致某个步骤的输入数据来源于上一步的返回数据,这时就需要“关联”来建立步骤之间的联系. 简单来说,就是:将上一 ...

  7. postman---postman参数关联

    我们做接口测试的时候都会遇到一个场景,就是参数关联,所谓的参数关联就是上一个参数的返回值用于下一个参数的请求中,通过python中requests我们知道如何请求,那么通过postman如何请求? 参 ...

  8. Jmeter(二)关联

    phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理 ...

  9. jmeter之关联的使用(正则、json)

    部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来 目录 1.应用场景 2.jmeter正则 ...

随机推荐

  1. 0.OpenCV框架

    reference: https://docs.opencv.org/4.1.2/ 基本使用 1.图片和视频,读写(2,8) 2.OpenCV基本数据类型(3) 3.OpenCV大型数据类型及操作:图 ...

  2. jQuery设置checkbox 为选中状态

    1设置第一个checkbox 为选中值$('input:checkbox:first').attr("checked",'checked');或者$('input:checkbox ...

  3. pandas相关操作

    import pandas as pd import numpy as np ''' 一.创建df 1.定义df :传递字典 1.1每一列的名称作为键 每个键都有一个数组作为值[key:数组] 1.2 ...

  4. SQLAlchemy应用到Flask中

    安装模块 pip install Flask-SQLAlchemy 加入Flask-SQLAlchemy第三方组件 from flask import Flask # 导入Flask-SQLAlche ...

  5. k8s 组件介绍-kube-controller-manager

    1. Controller Manager简介 Controller Manager作为集群内部的管理控制中心,负责集群内的Node.Pod副本.服务端点(Endpoint).命名空间(Namespa ...

  6. python基础之运算符和编码

    while循环 什么是循环? 就是不断的重复做一件事 while --关键字 后边跟条件 :还有循环体. 条件体为真,循环体内执行,为假不执行 while else 两者为一体的,相当于 if els ...

  7. 修改el-input

    无论是input框,还是select, 都是对 el-input 进行修改: .houseRegisterCompany .el-input{ width: 130px; }

  8. javascript基础六(事件对象)

    1.事件驱动     js控制页面的行为是由事件驱动的.          什么是事件?(怎么发生的)     事件就是js侦测到用户的操作或是页面上的一些行为       事件源(发生在谁身上)   ...

  9. MyBatis注解开发-@Insert和@InsertProvider(@Select、@SelectProvider雷同)

    @Insert和@InsertProvider都是用来在实体类的Mapper类里注解保存方法的SQL语句.不同的是,@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工 ...

  10. (urls.E006) The MEDIA_URL setting must end with a slash. (urls.e006)

    这个错误是会害死人的!   repath 的使用 setting的配置:在末尾要加一个斜杠 models urls的配置