jmeter之断言、数据提取器(正则表达式、jsonpath、beanshell)、聚合报告、参数化
- ctx - ( JMeterContext) - gives access to the context
- vars - ( JMeterVariables) - gives read/write access to variables: vars.get(key); vars.put(key,val); vars.putObject("OBJ1",new Object()); vars.getObject("OBJ2");
- props - (JMeterProperties - class java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234");
- prev - ( SampleResult) - gives access to the previous SampleResult (if any)
- sampler - (Sampler)- gives access to the current sampler
ctx 地址:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html
vars 地址:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html
prev地址:http://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html
jmeter中jsonpath用的jar包
本次脚本
一、断言
包含、匹配,如果做性能测试一般都用包含,默认是响应文本
二、数据提取器包括:1、正则表达式提取器;2、jsonpath 提取器;3、beanshell
正则表达式和jsonpath提取器,提取的值可以用在第二次请求用,上一个接口的数据做为下一个接口请求的数据,可以用beanshell里的responseData ,当做一个map,也可以用jsonpath 和正则表达式,jsonpath 的只针对json的格式,正则表达式可以用在不规则的情况下。
1、正则表达式,主要用于提取返回信息中的数据,做判断用。
Apply to:默认即可
要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息
引用名称:即参数名称,这个自己定义,在后面时可用
正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。
模板:$1$代表只有一组数据
匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组
缺省值:如果参数没有取得到值,那默认给一个值让它取
正则表达式 里的引用名 放到beanshell里使用,log.info("myname::::::"+vars.get("myname"));
2、jsonpath
需要添加jar包,
3、beanshell
在beanshell中写入 String responseData = prev.getResponseDataAsString(); 引用responseData 这个名字就可以使用了
三、聚合报告里面做性能用的比较多,响应时间主要用的是99%line,代表百分之99的请求响应时间低于多少ms;
聚合报告页面中,在所有数据写入一个文件,文件名写上路径,就可以输出到那个路径jtl 格式的报告,然后可以转换成html格式
四、CSV参数化
FileName:即同目录下csv文件的名称
File Encoding: 默认为ANSI
Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
Allow Quoated data: 双引号相关
循环Recycle on EOF: 设置为True后,允许循环取值
到最后就停止Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
Sharing Mode: 设置是否线程共享
设置线程循环为永远,CSV的Recycle on EOF=False,
Stop thread on EOF=True
原文:https://blog.csdn.net/qq_30353203/article/details/77671922
jmeter之断言、数据提取器(正则表达式、jsonpath、beanshell)、聚合报告、参数化的更多相关文章
- Jmeter之关联——常用提取器
Jmeter关联 所谓关联,从业务角度讲,即:某些操作步骤与其相邻步骤存在一定的依赖关系,导致某个步骤的输入数据来源于上一步的返回数据,这时就需要“关联”来建立步骤之间的联系. 简单来说,就是:将上一 ...
- Jmeter中的JSON提取器用法
一.使用前提 一般来说JSON提取器只适用于响应结果中返回的是json数据 二.需求 在下一个接口调用上一个接口的数据,如:请求1返回的结果,处理以后作为请求2的参数使用. 首先需要下载JSON Ex ...
- Jmeter学习笔记(八)——监听器元件之聚合报告
1.聚合报告添加 聚合报告是常用的监听器之一,添加路径: 点击线程组->添加->监听器->聚合报告 2.聚合报告界面及说明 Label:请求的名称,就是我们在进行测试的httpreq ...
- Jmeter之『Xpath提取器』
1.使用Xpath提取时,有时候需要过滤标题,使用以下语句 //td[@class="r-count" and not(text()="回应")]
- JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例
上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应 ...
- Jmeter之正则表达式提取器应用
说到Jmeter正则表达式提取器的应用,就不得不说到关联.所谓关联,就是把应用中动态变化返回的数据获取到,把它保存为一个参数,提供给后面需要用到的地方进行使用. Jmeter中关联是通过“添加—后置处 ...
- JMeter正则表达式提取器说明
Apply to:应用范围 要检查的响应字段:样本数据源. 引用名称:其他地方引用时的变量名称,引用方法:${引用名称} 正则表达式:数据提取器,如上图的 "sysNo":&quo ...
- 如何使用JMeter从文件中提取数据
在性能测试方面,重用响应数据至关重要.几乎(如果不是全部!)负载测试场景假设您: 从先前的响应中提取有趣的方面,并在下一个请求中重用它们(也称为相关) 确保实际响应符合预期(又称断言) 因此,如果您是 ...
- Jmeter压测学习3---通过正则表达式提取token
上一个随笔记录的是用json提取器提取token,这个随笔记录用正则表达式提取token 一.添加正则表达式 登录右击添加->后置处理器->正则表达式提取器 正则提取器参数说明: 要检查的 ...
随机推荐
- DNS注册信息
DNS注册信息查询可以查到注册时留下的信息,比如姓名,联系邮箱等等. 直接在命令行输入whois sina.com直接就可以看到sina.com的注册信息: Domain Name: SINA.COM ...
- java集合--模拟斗地主发牌洗牌
import java.util.*; /** * @Date: 2020/6/17 19:53 */public class Test04 { public static void main(Str ...
- (七) SpringBoot起飞之路-整合SpringSecurity(Mybatis、JDBC、内存)
兴趣的朋友可以去了解一下前五篇,你的赞就是对我最大的支持,感谢大家! (一) SpringBoot起飞之路-HelloWorld (二) SpringBoot起飞之路-入门原理分析 (三) Sprin ...
- JDK8--07:并行流与串行流
JDK8中,提供了并行流和串行流,使用parallel()和sequential()来处理,parallel()为并行流sequential()为串行流,两者可以相互转换,以最后一个为准 LongSt ...
- BootstrapDialog.confirm确认对话框
1. 依赖文件: bootstrap.js bootstrap-dialog.js bootstrap.css bootstrap-dialog.css 2.代码 BootstrapDialog.co ...
- [Debian]查看进程、终止进程
# jobs -l [1]+ 115 Running nohup /usr/local/bin/dotnet/dotnet/dotnet /usr/share/nginx/asp/publish/Wi ...
- 机器学习入门:极度舒适的GBDT原理拆解
机器学习入门:极度舒适的GBDT拆解 本文旨用小例子+可视化的方式拆解GBDT原理中的每个步骤,使大家可以彻底理解GBDT Boosting→Gradient Boosting Boosting是集成 ...
- vue安装及创建项目的几种方式
原文地址:https://www.wjcms.net/archives/vue安装及创建项目的几种方式 VUE安装的方式 直接用 script标签 引入 对于制作原型或学习,你可以这样使用最新版本: ...
- 「疫期集训day4」硝烟
那真是一阵恐怖的炮击(that boomed booms),响亮的炮音(that noise),滚滚的硝烟(that smoke),熊熊的火焰在围绕着我们前进...小心前进(go and be car ...
- Flask路由中使用正则表达式匹配
1.说明 由于flask并不支持直接使用正则表达式来匹配路由,我们可以使用werkzeug.routing的BaseConverter来实现 2.代码 from flask import Flask ...