Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请求的结果值,应用于后一个接口呢,拿一个登录的例子来说明如何获取。

1、打开jmeter,新建一个测试计划,在测试计划里新建一个线程组,新建一个登录的http请求,如图所示:

2、查看登录返回的结果:

3、充值接口需登录后才能操作,此时可以使用cookie方式,验证此用户已经登录,在充值接口里添加cookie管理器:

这里的sign就是上一个登口接口返回的sign值,

4、在登录请求下新建一个后置处理器,提取返回结果值:

5、查看接口运行结果:

总结:以上就是jmeter的关联实现,如果有其他的接口需要前一次请求的结果,也可以添加的后置处理器提取变量,作用于后一个接口中,实现参数动态变化。

关于正则表达式的举例说明:

1、提取单个字符串:
假如想匹配Web页面的如下部分:name = "file" value = "readme.txt">并提取readme.txt。一个合适的正则表达式:name = "file" value = "(.+?)">。
      ():封装了待返回的匹配字符串。
      .:匹配任何单个字符串。
      +:一次或多次。
      ?:不要太贪婪,在找到第一个匹配项后停止。

2、提取多个字符串:
    假如想匹配Web页面的如下部分:name = "file.name" value = "readme.txt">并提取file.name和readme.txt。一个合适的正则表达式:name = "(.+?)" value = "(.+?)"。这样就会创建2个组,分别用于$1$和$2$

  比如:

    引用名称:MYREF
    模板:$1$$2$

   如下变量的值将会被设定:
    MYREF:     file.namereadme.txt
    MYREF_g0:   name = "file.name"value = "readme.txt"
    MYREF_g1:  file.name
    MYREF_g2:  readme.txt

  在需要引用地方可以通过:${MYREF}, ${MYREF_g1进行使用。

当请求之间有依赖关系,比如一个请求的入参是另一个请求返回的数据,这时候就需要用到关联处理,Jmeter可以通过“后置处理器”中的“正则表达式提取器”来处理关联。

简单的关联

比如在访问百度首页时响应数据里面有一个title

<title>百度一下,你就知道</title> 我就想在其他的请求中引用这个title

添加正则表达式提取器并设置如下:

添加一个关联请求来验证这个关联:

执行后我们看到关联成功了

复杂一点的关联,像取正则表达式结果里面多个值

比如一个请求的响应数据如下:

我们尝试来提取0.0,84956.0,1019,3这四个数据,添加正则表达式提取器做如下设置

引用名称:引用名称和引用的方法,不用多解释,和变量参数化差不多。

正则表达式:凡是要被引用的部分都替换成圆括号,括号内具体的表达式您可以单独查阅正则表达式相关的知识。

模板:代表从正则表达式结果引用的样式,其实结果是一组,而不是一个。$0$代表这一组结果的全部,$1$代表这一组结果的第1个,以此类推;

$1$$2$代表该正则表达式一组结果中的第1个和第2个,俩结果挨在一起中间没有间隔;

$3$,$4$代表该正则表达式一组结果中的第3个和第4个,俩结果间有一个逗号相连。

匹配数字:0代表正则表达式结果组中随机,1代表全部。

缺省值:当引用不对时显示传递的信息,通畅写一个ERROR。

如上设置好正则表达式提取器后,我们可以添加一个被关联的验证请求,如下:

事实上,myref_g0,myref_g1...myref_g4 是正则表达式的结果组,而myref才是被模板控制提取出来结果,这里为了更清晰的观察正则表达式的结果组才在验证请求中添加这么多参数,实际使用是用一个myref和模板配合就可以了。

myref_g0={"rent":0.0,"price":84956.0,"totalprice":1019,"roomType":3}

myref_g1=0.0

myref_g2=84956.0

myref_g3=1019

myref_g4=3

1. 模板 $0$

2.模板$1$$2$

3.模板$3$,$4$

另外对于匹配数字,目前我只看到 0和1,取其他整数的情况也许还有,那一定是更复杂一点的情况。

好了 学习也就到此结束了 想了解更多相关知识请关注我吧!下面是小编想对读者大大们写的一封信哦! 记住要认真读哦!

 感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接免费拿走:
① 2000多本软件测试电子书(主流和经典的书籍应该都有了)
② 软件测试/自动化测试标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python编程语言、API接口自动化测试、web自动化测试、App自动化测试(适合小白      

 ⑤ Python学习路线图(告别不入流的学习) 
上图的资料 在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)
可以自助拿走,群号768747503备注(csdn999)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦
   ————————————————
「学习资料 笔记 工具 文档领取」

 扫描二维码,
备注“csdn999”
小姐姐邀你一起学习哦~~
和志同道合的测试小伙伴一起讨论测试技术吧!

   一定一定一定 要备注暗号:CSDN999
   ————————————————

Jmeter怎么实现接口关联?相关推荐

  1. JMeter接口测试___接口关联

    前言 一.什么是接口关联? 二.JMeter关联方法: 1.正则表达式提取器 2.Json Extractor提取器 3.边界值提取器 总结 前言 关联的概念: 关联也称为串行参数或数据依赖.    ...

  2. jmeter+接口测试练习+接口关联+Json提取

    1.测试用例设计 2.因为要执行多条用例,所以在Jmeter添加了http信息头管理器和http请求默认值. 3.查询用户信息接口需要用到登录的token,但要先登录再把token拿出来传到查询的信息 ...

  3. 【JMeter】JMeter怎么实现接口关联?

    文章目录 前言 一.操作 二.关于正则表达式的举例说明 1.提取单个字符串 2.提取多个字符串 总结 前言 Jmeter用于接口测试时,后一个接口经常需要用到前一次接口返回的结果,应该如何获取前一次请 ...

  4. 21天Jmeter打卡day16参数传递token传递,接口关联

    21天Jmeter打卡day16参数传递 token传递,接口关联 https://www.jianshu.com/p/e3a116f7bf6b 实现效果,把第一个请求的响应结果,提取出来,作为变量传 ...

  5. 性能测试之实现接口关联的两种方式:正则表达式提取器和json提取器

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

  6. postman接口关联

    在接口调试中,经常会遇到一个接口需要上一个接口返回数据的情况,如 网站其他操作,需要token鉴权,而token在登录接口的响应数据里. 那么postman如何实现接口关联? 1.使用tests,取到 ...

  7. Jmeter(一)http接口添加header和cookie --转载

    Jmeter(一)http接口添加header和cookie HTTP信息头管理器在Jmeter的使用过程中起着很重要的作用,通常我们在通过Jmeter向服务器发送http请求(get或者post)的 ...

  8. jmeter 测试websocket接口(一)

    jmeter 测试websocket接口时,需要对jmeter添加测试websocket的jar包. 下载地址: https://download.csdn.net/download/qq_14913 ...

  9. Apache JMeter 测试 HTTP接口

    一.设置基础组件 1. Apache JMeter 测试 HTTP接口流程 原则:简单的http请求而已,例如:PostMan测试一样的 1.添加一个线程组 2给线程组添加一个取样器,用来发送HTTP ...

最新文章

  1. 软件测试--利用组合覆盖法设计测试用例
  2. 字节跳动端到端深度学习召回算法
  3. 【Android RTMP】Android Camera 视频数据采集预览 ( 视频采集相关概念 | 摄像头预览参数设置 | 摄像头预览数据回调接口 )
  4. mysql一: 登陆
  5. 各种梯度下降 bgd sgd mbgd adam
  6. linux 基本的操作
  7. 关于web服务器TIME_WAIT值高的问答
  8. Zull路由网关---SpringCloud
  9. UVA 116——Unidirectional TSP
  10. win11天气小组件如何开启 Windows11开启天气组件的设置方法
  11. 刷新输出缓冲区(C++)
  12. 常见的SQL面试题:经典50题(附详解)
  13. 计算机需要那些高中数学知识点,高中必考数学知识点归纳整理
  14. Android Binder 机制详解
  15. Excel小技巧--如何禁止在某一列或某一区域输入重复内容
  16. 网络流量分析netflow
  17. 《又到毕业季》MATLAB GUI 鼠标键盘交互
  18. 数据统计获取一年 有多少个自然周,起止时间,当前是第几个周
  19. java基础学习_集合类04_Map接口、Collections工具类_day18总结
  20. 黑马程序员_源自梦想 GUI

热门文章

  1. 优化嵌入式软件的几点技巧
  2. HSV与RGB之间相互转换
  3. FPGA解析B码----连载7(完结篇)
  4. Python3进阶--正则表达式、json、logging日志配置、数据库操作、枚举、闭包、匿名函数和高阶函数、time、datetime
  5. Windows7直接刻录ISO
  6. 谷歌浏览器打开或者关闭自动翻译
  7. 台积电业绩出现下滑,开始进一步向中国大陆芯片企业示好
  8. 基于EasyDarwin开源流媒体服务器框架实现EasyNVR H5无插件直播流媒体服务器方案
  9. 【练习四 数组 编程题 7. 贪心的阿迪 】
  10. 对生命常怀敬畏之心,我眼中的胡爱玲医生