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

目录

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管理器来管理起来

最新文章

  1. PHP基础知识之————PHP Web脚本中使用FFmpeg
  2. python sorted和sort
  3. 在centos6.3用yum安装redis
  4. Tkinter单选框及滚动条
  5. nginx禁止未绑定域名访问 并且强行断开连接
  6. HDU 5438 Ponds (DFS,并查集)
  7. 初识spring与quartz整合实现定时任务
  8. [BZOJ 3669] [Noi2014] 魔法森林 【LCT】
  9. OpenAL
  10. UVA 11080 - Place the Guards(二分图判定)
  11. maven source
  12. python flask框架 数据库的使用
  13. oracle 中update多个字段
  14. 在Java中,将ExecutorService转为守护程序
  15. P45 实践作业
  16. MySQL SELECT 执行的具体步骤
  17. 微信小程序 - 支持html空格(提示)
  18. JDK观察者模式和事件机制比较<转>
  19. L1-008 求整数段和
  20. SQL查询排名第二名的信息

热门文章

  1. SpringBoot jar程序配置成服务运行
  2. css中的居中的方法
  3. UVA 12849 Mother’s Jam Puzzle( 高斯消元 )
  4. jQuery学习总结02-属性
  5. 使用Nginx代理和转发Websocket连接
  6. Python基础入门一文通 | Python2 与Python3及VSCode下载和安装、PyCharm激活与安装、Python在线IDE、Python视频教程
  7. 通过busybox制作根文件系统
  8. Linux--shell三剑客<sed>--07
  9. Jupyter配置工作路径
  10. keepalived的配置文件