Jmeter后置处理器实现过程及方法应用

 更新时间:2020年09月07日 14:58:57   作者:多测师_郑sir  
这篇文章主要介绍了Jmeter后置处理器实现过程及方法应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.JSON Extractor

Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值。并保存成变量供后面的请求进行调用或断言等。

  • Variable names:保存的变量名,后面使用 ${Variable names} 引用
  • JSON Path expressions:上一步中调试通过的 json path 表达式
  • Match Numbers:匹配数字(0代表随机,1代表第一个,-1代表所有)
  • Default Values:找不到时默认值,一般设置为 NOT FOUND
  • Compute concatenation var(suffix_ALL):是否统计所有,即将匹配到的所有值保存,名为“变量名_ALL”,使用场景需要获取的值有多个,后面需要对这一组数据进行操作

Json Path expression 的使用

JsonPath

描述

$

根节点

@

当前节点

.or[]

子节点

..

选择所有符合条件的节点

*

所有节点

[]

迭代器标示,如数组下标

[,]

支持迭代器中做多选

[start:end:step]

数组切片运算符

?()

支持过滤操作

()

支持表达式计算

示例如下:  

2.正则表达式

  • 引用名称:自己定义的变量名称,后续请求将要引用到的变量名,如填写的是:JWT,后面的引用方式是 ${JWT}
  • 正则表达式:提取内容的正则表达式,相当于 loadrunner 中的关联函数
  • "()" 括起来的部分就是需要提取的,对于你要提的内容需要用小括号括起来  
  • "." 匹配除了换行符以外的任何字符  
  • "*" (贪婪) 重复零次或更多  
    • 例如 "aaaaaaaa" 匹配字符串中所有的a 正则: "a*" 会出到所有的字符 "a"
  • "+" (懒惰) 重复一次或更多次
    • 例如 "aaaaaaaa" 匹配字符串中所有的a 正则: "a+" 会取到字符中所有的 a 字符, "a+" 与 "a*" 不同在于 "+" 至少是一次而 "*" 可以是0次      
  • "?" (占有) 重复零次或一次  
    • 例如 "aaaaaaaa" 匹配字符串中的a 正则 : "a?" 只会匹配一次,也就是结果只是单个字符 a    
  • "*?" 重复任意次,但尽可能少重复   
    • 例如 "acbacb" 正则 "a.*?b" 只会取到第一个 "acb" 原本可以全部取到但加了限定符后,只会匹配尽可能少的字符 ,而 "acbacb" 最少字符的结果就是 "acb"     
  • "+?" 重复1次或更多次,但尽可能少重复,与 "*?" 一样,只是至少要重复1次  
  • 还有分组的情况,常用的就这两种,其它的可以再自行百度  
    • "(?=exp)" 匹配exp前面的位置    
    • "(?<=exp)" 匹配exp后面的位置    

模板:用 $$ 引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的),则可以是 $1$,$2$,$3$ 等等,表示解析到的第几个值给 var。例如:$1$ 表示匹配到的第一个值

匹配数字:0 代表随机取值,此时提取结果是一个数组,1 表示取出匹配到的第一个值,负数表示提取所有符合条件的值。

  • 缺省值:正则匹配失败时,取的值
  • 想要知道正则表达式是否正确,可以在请求后加入调试取样器(右键-添加-取样器-调试取样器 debug sampler)
  • 没有特殊的情况用(.*?)就可以解决所有问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot 单元测试JUnit的实践

    Spring Boot 单元测试JUnit的实践

    JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,这篇文章主要介绍了Spring Boot 单元测试JUnit的实践,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • SpringBoot中@PathVariable注解使用

    SpringBoot中@PathVariable注解使用

    本文详细介绍了SpringBoot中@PathVariable注解的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • 利用Java+MySQL实现附近功能实例

    利用Java+MySQL实现附近功能实例

    现在很多手机软件都用附近搜索功能,但具体是怎么实现的呢?下面这篇文章就来给大家介绍关于利用Java+MySQL实现附近功能的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-12-12
  • 零基础入门SpringMVC拦截器的配置与使用

    零基础入门SpringMVC拦截器的配置与使用

    Spring MVC 的拦截器(Interceptor)与 Java Servlet 的过滤器(Filter)类似,它主要用于拦截用户的请求并做相应的处理,通常应用在权限验证、记录请求信息的日志、判断用户是否登录等功能上。本文将代码演示和文字描述详解拦截器的原理与使用
    2022-04-04
  • IntelliJ IDEA 2021.3 正式发布之支持远程开发、IDE故障排查等多项优化改进

    IntelliJ IDEA 2021.3 正式发布之支持远程开发、IDE故障排查等多项优化改进

    IntelliJ IDEA 2021.3 正式发布:支持远程开发、IDE故障排查等多项优化改进问题,在这个版本中的远程开发还不是一个正式版本,而是BETA版,但通过这个BETA版本,也可以体验IDEA“远程开发”给我们带来的全新体验
    2021-12-12
  • Java 的抽象类原理与用法分析

    Java 的抽象类原理与用法分析

    这篇文章主要介绍了Java 的抽象类原理与用法,结合实例形式分析了java抽象类与接口的相关概念、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2019-12-12
  • 使用ClassFinal实现SpringBoot项目jar包加密的操作指南

    使用ClassFinal实现SpringBoot项目jar包加密的操作指南

    在实际开发中,保护项目的安全性和保密性是至关重要的,针对于 Spring Boot 项目,我们需要将 JAR 包进行加密从而有效地防止未经授权的访问和修改,本文将介绍如何使用ClassFinal在 Spring Boot 项目中实现 JAR 包加密,需要的朋友可以参考下
    2024-06-06
  • 深入java对象复制的分析

    深入java对象复制的分析

    本篇文章是对java对象复制进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • 使用filter实现url级别内存缓存示例

    使用filter实现url级别内存缓存示例

    这篇文章主要介绍了使用filter实现url级别内存缓存示例,只需要一个静态类,在filter中调用,也可以全部写到filt里面。可以根据查询参数分别缓存,需要的朋友可以参考下
    2014-03-03
  • Servlet方法生命周期及执行原理详解

    Servlet方法生命周期及执行原理详解

    运行在服务器端的小程序,Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则,将来我们自定义一个类,实现Servlet接口,复写方法
    2021-09-09

最新评论