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)
  • 没有特殊的情况用(.*?)就可以解决所有问题

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

(0)

相关推荐

  • Jmeter设置全局变量token过程图解

    返回登录后的token使用json path Extractor插件,定位到获取后的token为变量 在登录下后置处理器下添加json path Extracto插件 根据上面获取到的token位置路径编写变量 头部添加全局token变量 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • Jenkins集成sonarQube实现代码质量检查过程图解

    1.sonarQube的简介 SonarQube是一款自动化代码审查工具,用于检测代码中的错误.漏洞和代码异味.它可以与你现有的工作流集成,以支持跨项目分支和拉取请求的连续代码检查. 其工作流程如下: 如图SonarQube由以下4个组件组成: 1.SonarQube Server: WebServer:供开发人员,管理人员浏览高质量的快照并配置SonarQube实例Search Server:基于Elasticsearch的Search Server从UI进行后退搜索(历史)computeEn

  • Jenkins环境搭建实现过程图解

    jenkins是基于Java开发的一种持续集成工具,减少手工重复性工作,提高效率,而且可以定时跑脚本超级方便撒 tomcat:http://tomcat.apache.org/ jenkins下载:https://jenkins.io/download/下载后放在tomcat下面的webapps里 打开jenkins页面:http://localhost:8080 管理员密码在目录里面 安装插件可默认,也可自己选择安装 新建项目 创建测试test项目 构建可定时跑脚本,不需手动 以上就是本文的全

  • Jmeter多种定时器实现方法解析

    1.固定定时器(Constant Timer) 用法(场景):更真实的模拟用户场景,需要设置等待时间,或是等待上一个请求的时间才执行,给 sampler 之间的思考时间 备注:如果需要每个步骤均延迟,则将定时器放在与请求持平的位置,若只针对一个请求延迟,则将定时器放在该请求子节点中. (1)每个sampler均延迟启动,(包含第一个 sampler)示例如下 (2)只针对某一个 sampler 请求延迟启动,示例如下 2.高斯随机定时器(Gaussian Random Timer) 下图中固定延

  • Jmeter分布式压力测试实现过程详解

    一.分布式压测原理 如下图(这个图说明的是要一台控制机,然后由这台控制机发压测脚本到每台远程执行机,然后由控制机收集执行机结果) 二.修改 Jmeter 配置文件 在主控机的jmeter的bin目录找到配置文件jmeter.properties.找到里面的remote_hosts 部分,修改内容为:remote_hosts=xx,xx代表的是压力机的ip:port.如果是多个压力机,之间使用[,]分隔 控制机端口修改,防止端口被占用(注意:控制机修改后,每台执行机的端口也要修改成一致) 电脑防火

  • Jenkins迁移job插件Job Import Plugin流程详解

    由于又开了新机器所以又要重新布置Jenkins从老项目拷贝过来,发现Job Import Plugin 这个插件更新了,和以前的有些出入所以再记录一下插件管理安装一下Job Import Plugin 可以看到已经更新到3.4版本了安装之后可以在首页找到 点开之后可以发现和以前不一样了,不能配置了 我们可以在系统配置下找到 填入需要转入的jenkins项目地址账号等信息 我这里用的账号,也可以用ssh秘钥等回到界面点击Query 就会出现要转移的项目,勾选确认即可 以上就是本文的全部内容,希望对

  • Jenkins源代码管理SVN实现步骤解析

    Subversion 安装插件 1.首先将本地的自动化用例打包上传 svn 2.配置 jenkins 源代码管理(每次执行 jenkins 时,会自动 check-ou t配置地址中的代码到 Jenkins 的工作空间内) 3.配置构建(我用的是 windows 命令构建,路径对应之前设置的 jenkins 自定义工作空间即可,因为当 SVN 源码更新,自定义的工作空间内的内容也会更新,所以这样每次 Jenkins 所执行的代码都是svn中最新的) 以上就是本文的全部内容,希望对大家的学习有所帮

  • Jenkins节点配置实现原理及过程解析

    1.配置代理 系统管理---configure Global Security(全局安全设置)---Tcp port for inbound agents---指定端口 服务器防火墙中开放此端口(linux版) 关闭电脑防火墙(windows版) 点击 agent protocols---勾选Java Web Start Agent Protocol4 2.添加节点 系统管理---管理节点 新建节点---输入节点名称(node2)---勾选Permanent Agent 添加节点(可以理解为是一

  • 如何基于Jenkins构建Jmeter项目

    1.启动 Jenkins(windows 版本) 2.新建自由风格的项目 定时任务 构建操作 安装 HTML Publisher 插件构建后操作 最后保存构建,查看报告 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

  • 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

  • Java 图解Spring启动时的后置处理器工作流程是怎样的

    探究Spring的后置处理器 本次我们主要探究invokeBeanFactoryPostProcessors():后面的代码下次再做解析: 入口代码refresh() AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(); // ...... applicationContext.refresh(); public void refresh() throws

  • 详解Spring中Bean后置处理器(BeanPostProcessor)的使用

    目录 一.BeanPostProcessor接口 二.案例 三.总结 一.BeanPostProcessor接口 Bean后置处理:对Spring 工厂创建的对象进行二次加工处理,即预初始化和后初始化. PostProcessor中文意思就是后置处理器. BeanPostProcessor 接口也被称为Bean后置处理器,通过该接口可以自定义调用初始化前后执行的操作方法. 该接口中包含了两个方法:before方法(预初始化)和after方法(后厨是化) postProcessBeforeInit

  • Spring中的后置处理器BeanPostProcessor详解

    BeanPostProcessor接口作用: 如果我们想在Spring容器中完成bean实例化.配置以及其他初始化方法前后要添加一些自己逻辑处理.我们需要定义一个或多个BeanPostProcessor接口实现类,然后注册到Spring IoC容器中. package com.test.spring; import org.springframework.beans.BeansException; import org.springframework.beans.factory.config.B

  • Spring BeanPostProcessor(后置处理器)的用法

    目录 BeanPostProcessor 一.自定义后置处理器演示 二.多个后置处理器 三.显示指定顺序 对BeanPostProcessor接口的理解 为了弄清楚Spring框架,我们需要分别弄清楚相关核心接口的作用,本文来介绍下BeanPostProcessor接口 BeanPostProcessor 该接口我们也叫后置处理器,作用是在Bean对象在实例化和依赖注入完毕后,在显示调用初始化方法的前后添加我们自己的逻辑.注意是Bean实例化完毕后及依赖注入完成后触发的.接口的源码如下 publ

  • Spring AOP 后置处理器使用方式

    目录 1 前言 2 BeanPostProcesser 后置处理器 3 总结 1 前言 在 Spring 的体系中,在前文中已经讲述了IOC 容器以及 Bean的理解,在本文基于之前文章内容将继续 AOP 的源码分享. AOP 是一个很繁杂的知识点,这里先从后置处理器开始. 2 BeanPostProcesser 后置处理器 BeanPostProcesser 在 Spring 是一个很重要的概念,这是容器提供的一个可扩展接口,关于后置处理器 Spring 给出的注释是这样的: 简单来说就是:

  • Spring源码解析后置处理器梳理总结

    目录 前言 1.InstantiationAwareBeanPostProcessor的postProcessBeforeInstantiation()方法 2.SmartInstantiationAwareBeanPostProcessor的determineCandidateConstructors()方法 3.MergedBeanDefinitionPostProcessor的postProcessMergedBeanDefinition()方法 4.SmartInstantiationA

  • Jmeter使用接口传递数据过程图解

    一. 1.提取响应结果中的"mobile_phone",作为下一个登录接口的账号信息 1)在当前接口下,添加-置处理器-正则表达式提取器 2)正则表达式处理器 说明: 后置处理器:在请求结束或者返回响应结果时发挥作用 APPly to:作用范围(返回内容的断言范围) Main sample and sub-samples:作用于父节点的取样器及对应子节点的取样器 Main sample only:仅作用于父节点的取样器 Sub-samples only:仅作用于子节点的取样器 JMet

  • Spring AOP 后置通知修改响应httpstatus方式

    目录 Spring AOP后置通知修改响应httpstatus 1.定义Aspect 2.使用 3.ApiResponse响应体 4.ApiUtil Spring AOP前后置通知最简单案例 1.首先导jar包 2.写applicationContext.xml 3.项目架构 4.Demo类 5.前后置通知 Spring AOP后置通知修改响应httpstatus 1.定义Aspect /** * 响应体切面 * 后置通知修改httpstatus * * @author : CatalpaFla

  • Jmeter 使用Json提取请求数据的方法

    目录 Json提取器 使用介绍 1,变量名 2,Json表达式 3,Match no 4,默认值 提取变量的后续操作 调试器样本查看变量取值情况 Beanshell写变量到文件 遍历提取到的值 使用Json提取器可以提取请求响应数据 Json提取器 位置: 后置处理器->Json提取器 使用介绍 1,变量名 变量名,其他部分引用方式: ${变量名} 若提取多个变量,多个之间使用分号";"分割 2,Json表达式 $表示响应的根对象 .表示对象的下一级子对象或者属性 取数组加[],

随机推荐