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)
- 没有特殊的情况用(.*?)就可以解决所有问题
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
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表达式 $表示响应的根对象 .表示对象的下一级子对象或者属性 取数组加[],
随机推荐
- jQuery.fn和jQuery.prototype区别介绍
- jQuery对象和Javascript对象之间转换的实例代码
- PHP 各种排序算法实现代码
- 详解Python中heapq模块的用法
- GO语言映射(Map)用法分析
- 如何解决hash冲突
- easyui中combotree循环获取父节点至根节点并输出路径实现方法
- jsp分页显示的实现代码
- Mime类型与文件后缀对照表
- SQL设置SQL Server最大连接数及查询语句
- jQuery chili图片远处放大插件
- 注册表应用100例—注册表使用全攻略之十一
- C++实现调用系统时间简单示例
- C++语言 STL容器list总结
- C#操作PowerPoint的方法
- AngularJS中controller控制器继承的使用方法
- pandas 获取季度,月度,年度首尾日期的方法
- Keepalived+Nginx+Tomcat 实现高可用Web集群的示例代码
- PHP命名空间用法实例分析
- SpringMVC KindEditor在线编辑器之文件上传代码实例