zoukankan      html  css  js  c++  java
  • jmeter实现接口关联的两种方式:正则表达式提取器和json提取器看这篇就够了

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

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

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

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

     如上图:需要提取access_token

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

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

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

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

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

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

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

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

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

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

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

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

    json提取器的使用步骤

    1.在需要获得数据的请求“1.获取access_token” 上右击添加一个后置处理器-->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.替换变量为${ 变量名}

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

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

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

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

     原创不易,欢迎评论,点赞,转发礼貌三连!谢谢!

    五、总结

    如果你觉得此文对你有帮助,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入:

    软件测试技术群:695458161群里发放的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

    作者:来自公众号:软测之家
    出处:https://www.cnblogs.com/csmashang/p/12659093.html
    原创不易,欢迎转载,但未经作者同意请保留此段声明,并在文章页面明显位置给出原文链接。

    笔者来自公众号:软测之家 软件测试技术交流群:695458161
  • 相关阅读:
    C++中的派生类相关内容,结构体、共同体内容
    window查看端口以及telnet的使用
    java中long型转换为int
    C/C++数组初始化全为0
    linux中的一些指令 find
    bat相关知识
    bat设置开机自启动
    for循环语句及批量创建用户!
    Shell函数!
    case语句!
  • 原文地址:https://www.cnblogs.com/csmashang/p/12659093.html
Copyright © 2011-2022 走看看