jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

作者:测试逍遥子 时间:2022-06-14 19:31:27 

一、前言

在开展接口测试或者是接口面试的过程中,我们会发现很多接口需要依赖前面的接口,需要我们动态从前面的接口返回中提取数据,也就是我们通常说的关联。

关联通俗来讲就是把上一次请求的返回内容中的部分截取出来保存为参数,用来传递给下一个请求使用。

二、使用正则表达式提取器实现接口关联

正则表达式提取器,见名知意就是使用正则表达式的方法把我们需要提取的内容通配出来。

原理:通过左右二边不变的边界来提取中间变的返回值

jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

如上图:需要提取access_token

{"access_token":"31_qz2HtPalsk5Ey1ToWJaZ6Kaojf8y-BhxTHEmuO111m8_Gc_77HRvMuG4ltbd9gHskqi0XAq8phQys9K8awso4iq-VSr0bArrd-zC-nY0Ltudp-HcPZV7y291YjLYoeJBHW2zhB7-lWYzeTsqFKOhAHANSW","expires_in":7200}

1、在需要获得数据的请求“1.获取access_token” 上右击添加一个后置处理器-->正则表达式提取器

jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

引用名称:即下一个请求要引用的参数名称,如填写access_token,则可用${ access_token}引用它。

正则表达式:()括起来的部分就是要提取的。.代表任意字符,+表示一次或多次,*代表出现任意次。

模板:用$$引用起来,如果在正则表达式中有多个正则表达式,则可以是$2$,$3$等等,表示解析到的第几个值给access_token。本处只有1个,所有使用$1$。

匹配数字:0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

2.在后面的接口中使用${ access_token}引用

jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

3.使用调试取样器检查是否提取成功

添加调试取样器-->运行测试-->通过查看结果树里面的 调试取样器 查看结果

jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

如果你觉得此文对你有帮助,如果你对此文有任何疑问,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入软件测试技术群:695458161,群里发放的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

三、使用json提取器实现接口关联

 使用场合:接口关联,当前一个接口返回的数据类型为json格式的数据,需要从返回的json数据中提取数据。

 jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

 可以将返回的值复制到 www.bejson.com-->json菜单-->json视图-->json数据中,然后点击试图查看,如下图:

jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

json提取器的使用步骤

1.在需要获得数据的请求“1.获取access_token” 上右击添加一个后置处理器-->JSON提取器

 jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

Name of created varialies:即下一个请求要引用的参数名称,如填写access_token,则可用${ access_token}引用它。

JSON Path  expressions:填写jsonpath,格式:$. 节点名称   根节点用 “.” 表示

Match Numbers:0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

Default Values:找不到时默认值,一般设置为NOT FOUND

Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”

2.替换变量为${ 变量名}

 jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

3.使用 调试取样器 检查是否提取到了

 jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

四、扩展:返回复杂json数据的提取

如图:{"tag":{"id":193,"name":"newdream20200324"}}

jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

 JSON提取器配置如下: $.tag.name

jmeter实现接口关联的两种方式(正则表达式提取器和json提取器)

来源:https://blog.csdn.net/pengjiangchun/article/details/105380333

标签:jmeter,接口,关联
0
投稿

猜你喜欢

  • python发腾讯微博代码分享

    2022-05-27 04:45:00
  • WEB2.0网页制作标准教程(10)自适应高度

    2008-02-19 19:21:00
  • 用pip给python安装matplotlib库的详细教程

    2021-02-02 00:02:45
  • Javascript将数值转换为金额格式(分隔千分位和自动增加小数点)

    2023-08-18 10:31:11
  • 增加 javascript 的 trim 函数

    2008-04-20 16:54:00
  • Jupyter加载文件的实现方法

    2021-11-12 23:16:15
  • python logging模块的使用详解

    2023-06-08 08:43:34
  • python 实现的车牌识别项目

    2023-09-02 07:27:48
  • Django 解决开发自定义抛出异常的问题

    2023-03-05 12:43:55
  • 轻松解决Mysql“信息包过大”的处理方法

    2008-06-07 16:50:00
  • AJAX简单应用实例-弹出层

    2011-04-14 10:55:00
  • 在CentOS7下安装Python3教程解析

    2021-09-17 16:51:13
  • 基于Python实现英语单词小游戏

    2023-03-22 01:34:19
  • python3.3实现乘法表示例

    2023-11-01 11:06:55
  • Python自动化办公之Excel拆分与自动发邮件

    2022-05-03 09:05:40
  • Access的特点及其概念问答

    2009-09-10 19:00:00
  • 用python实现的可以拷贝或剪切一个文件列表中的所有文件

    2022-09-11 11:28:23
  • pyenv与virtualenv安装实现python多版本多项目管理

    2022-12-19 23:50:04
  • 如何通过python画loss曲线的方法

    2021-01-04 09:01:18
  • python 如何引入协程和原理分析

    2022-09-06 11:26:07
  • asp之家 网络编程 m.aspxhome.com