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. Linux(Ubuntu)常用命令(五)—— vi/vim常用操作

    vi/vim常用命令 vim其实就是vi的升级版,vi里的所有命令vim里都可以用,一般使用来说几乎没什么差别. 注:本篇文章区分大小写! vi / vim三级模式的关系: 命令行模式 任何时候,不管 ...

  2. python 装饰器 第四步:基本装饰器的实现

    #第四步:基本装饰器的实现 #用于扩展基本函数的函数 def kuozhan(func): #内部函数(扩展之后的eat函数) def neweat(): #以下三步就是扩展之后的功能,于是我们把这三 ...

  3. Cocos2d 之FlyBird开发---GameUnit类

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 这节来实现GameUnit类中的一些函数方法,其实这个类一般是一个边写边完善的过程,因为一般很难一次性想全所有的能够供多个类共用的方法.下 ...

  4. docker-compos联合两个容器

    使用网络 ' services: web: image: http networks: - myappnet1 worker: image: http networks: - myappnet2 db ...

  5. leetcode.排序.451根据字符出现频率排序-Java

    1. 具体题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r ...

  6. 记一些经常用到的linux命令

    记一些经常用到的linux命令,备忘用 用清华源pip: pip install django==1.11  tensorflow==1.4.0 keras==2.0.6 -i https://pyp ...

  7. 自编shell脚本合集(完善中)

    1.数据库备份 #!/bin/bash user="root" psword="root" bakdir="/data/mysqlbak" ...

  8. TCP/UDP Linux网络编程详解

    本文主要记录TCP/UDP网络编程的基础知识,采用TCP/UDP实现宿主机和目标机之间的网络通信. 内容目录 1. 目标2.Linux网络编程基础2.1 嵌套字2.2 端口2.3 网络地址2.3.1 ...

  9. 最近开发的项目,遇到用户上传excel文件并导入数据到系统这个需求,而有excel中有的单元格是日期格式,本文介绍怎么从excel中读取日期格式的数据。

    可以先判断单元格的类型,有的日期是字符串存储的,有的是按日期存储的(单元格按数字解析),代码如下: Cell cell = row.getCell(); Date date = null; if (c ...

  10. Zip函数(Python)

    >>> z = zip((2,3,4),(33,44,55)) >>> z <zip object at 0x1022cdb88> >>&g ...