部分接口的测试中,一个接口会依赖上一个接口的响应信息,但上一个接口的响应信息又不是固定不变的,这时候,需要提取上一个接口的响应信息,将二者每一次的信息关联起来

目录

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)的更多相关文章

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

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

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

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

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

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

  4. Jmeter(二)关联

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

  5. jmeter对响应结果做正则、json、xpath结果测试

    上面的返回结果可用于关联取值测试 具体用法详见http://www.cnblogs.com/xinjing-jingxin/p/8554338.html http://goessner.net/art ...

  6. 『动善时』JMeter基础 — 35、JMeter接口关联【JSON提取器】详解

    目录 1.JSON提取器介绍 2.JSON提取器界面详解 3.JSON提取器的使用 (1)测试计划内包含的元件 (2)HTTP Cookie管理器内容 (3)用户登陆请求界面内容 (4)JSON提取器 ...

  7. Jmeter -- 上下文关联(JSON提取器)

    目标: 将请求A响应数据的部分内容提取出来,保存成变量供后续请求使用(用在返回格式为json的HTTP请求中) 步骤: 1. 添加JSON Extractor后置处理器 add --> post ...

  8. jmeter数据关联_后置处理器_正则表达式提取器

  9. 6.Jmeter 参数关联设置

    Jmeter的参数关联其实就是参数变量的在不同的采样器(sampler)的存储与传递. 如下我们有一个请求例子. 1.  发起下订单(下订单成功后会返回一个订单Id) 2.  针对该订单进行支付(需要 ...

随机推荐

  1. LDAP分布式数据库的介绍和安装使用

     目录服务 目录是一个为查询.浏览和搜索而优化的专业分布式数据库,它呈树状结构组织数据,就好象Linux/Unix系统中的文件目录一样.目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没 ...

  2. g50打开无线设置 fn+f7

  3. dfs(找环)

    https://codeforces.com/problemset/problem/1249/B2 B2. Books Exchange (hard version) time limit per t ...

  4. HTML+CSS ,原型

    此图是别人所作

  5. selenium安装及环境搭建

    说明:安装selenium前提必须是安装好了python和pip 1.安装python 在Python的官网 www.python.org 中找到最新版本的Python安装包(我的电脑是windows ...

  6. 本地启oracle实例服务无法重启,协议适配器错误

    今天遇到一位朋友的oracle实例服务无法起来,启动时报错: 分析的原因是可能早上服务器突然断电造成的,经过对tns的测试 经过我们讨论和诊断,最后诊断的处理方法是将实例删了重装,处理后服务恢复正常: ...

  7. 2019牛客暑期多校训练营(第七场) - C - Governing sand - 平衡树

    5 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 感觉该出14才对,取前k小写成了取前k大. 5 1 5 4 2 5 3 3 5 2 4 5 1 6 5 5 suf=55 res=0 a ...

  8. C#设计模式:迭代器模式(Iterator Pattern)

    一,什么是迭代器模式(Iterator Pattern) 提供一种方法顺序访问一个容器对象中的各个元素,而又不需要暴露该对象的内部表示 二,看下面例子: using System; using Sys ...

  9. Python之路-面向对象&继承和多态&类属性和实例属性&类方法和静态方法

    一.面向对象 编程方式 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强…” 什么是面 ...

  10. a标签实现下载canvas图片

    令 a 的 href = canvas.toDataURL("image/png");