Jmeter前置处理器和后置处理器的使用
一、JMETER基本概念
1、 测试计划:顶级菜单,代表一个测试计划;
2、 线程组:代表一个要测试的场景(各种相关的交易集合),对于性能测试来说可以指定多少个用户完成这个场景的内容,对于自动化测试来说,指定一个用户即可;
3、 控制器:挂在线程组下,用来控制各种交易(接口)的调用频率,有循环控制器、简单控制器等等
4、 取样器:代表一次发起请求和接收响应的元件,这里可以认为是一个接口、交易、请求
5、 前置处理器:取样器发起请求前可以用这做一些工作,比如参数化等等
6、 后置处理器:取样器收到响应后做一些工作,比如提取响应报文中的内容
二、前置处理器跟后置处理器的区别
前置处理器是用于发送请求之前,用于准备工作,比如参数化获取当前日期、获取随机字母数字名称、获取当前日期下月日期。
【BeanShell PreProcessor、用户参数】
后置处理器是用于发送请求之后,取样器收到响应后做一些工作,比如提取响应报文中的内容,获取Cookie、token 。
【BeanShell PreProcessor、正则表达式提取器、JSON Extractor、Debug PostProcessor】
三、前置处理器使用
3.1 BeanShell PreProcessor
例如: 通过beanshell 脚本获取当前日期、当前日期减1天、 当前日期加30天

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class GetTime { /**
* 获取当前日期
*
* @return
*/
public String getcurrentDate() {
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String currentDate = formatter.format(currentTime);
return currentDate;
} /**
* 获取当前日期的下一个月
*
* @param day
* @return
*/
public String getDateAddMonth() {
String year_month_day = "yyyy-MM-dd";
SimpleDateFormat dgt = new SimpleDateFormat(year_month_day);
Calendar date = Calendar.getInstance();
date.add(Calendar.MONTH, Integer.parseInt("1"));
String endDate = dgt.format(date.getTime());
return endDate;
} /**
* 获取当前日期减一天
*
* @return
*/
public String getDateBeforeDay() {
Calendar c = Calendar.getInstance();
Date date = null;
Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
String a = formatter.format(currentTime);
try {
date = new SimpleDateFormat("yy-MM-dd").parse(a);
} catch (ParseException e) {
e.printStackTrace();
}
c.setTime(date);
int day = c.get(Calendar.DATE);
c.set(Calendar.DATE, day - 1);
String dayBefroe = new SimpleDateFormat("yyyy-MM-dd").format(c
.getTime()); return dayBefroe;
} }
四、后置处理器使用
4.1 BeanShell PreProcessor
Jmeter前置处理器和后置处理器的使用的更多相关文章
- Jmeter元件——JSON Extractor后置处理器介绍2
在前段时间将JSON Extractor元件做了个简单的介绍:Jmeter元件——JSON Extractor后置处理器介绍1,今天以一个具体的json,以不同的方式提取数据做个详细的介绍. 一.模拟 ...
- Jmeter元件——JSON Extractor后置处理器
场景使用 json extractor后置处理器用在返回格式为json的HTTP请求中,用来获取返回的json中的某个值.并保存成变量供后面的请求进行调用或断言等. 使用方法 1.常规操作 路径:选择 ...
- jmeter数据关联_后置处理器_正则表达式提取器
- Jmeter --Json Extractor (后置处理器)
一.使用场景 Json Extractor 后置处理器用在返回格式为json的HTTP请求中, 用来获取返回的json中的某个值.并保存成变量供后面的请求进行调用或者断言等. 二.使用方法 1.创建H ...
- 【JEMTER】后置处理器JSON Path Extractor获取server端返回的json中某项值
需求1:点击所有报表模板时,server端返回所有报表模板的ID(templateId),测试时需要下载某个模板生成的报表 需求2:点击单个报表模板时,server端返回这个报表模板下的所有报表ID( ...
- Spring-Bean的后置处理器
Spring——Bean 后置处理器 Bean 后置处理器允许在调用初始化方法前后对 Bean 进行额外的处理. BeanPostProcessor 接口定义回调方法,你可以实现该方法来提供自己的实例 ...
- 【Spring注解驱动开发】关于BeanPostProcessor后置处理器,你了解多少?
写在前面 有些小伙伴问我,学习Spring是不是不用学习到这么细节的程度啊?感觉这些细节的部分在实际工作中使用不到啊,我到底需不需要学习到这么细节的程度呢?我的答案是:有必要学习到这么细节的程度,而且 ...
- Jmeter BeanShell前置处理器、取样器、后置处理器
前置处理器:BeanShell PreProcessor取样器 :BeanShell Sampler后置处理器:BeanShell PostProcessor 1.前置 import org.apac ...
- Jmeter(十七) - 从入门到精通 - JMeter后置处理器 -上篇(详解教程)
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
- Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)
1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...
随机推荐
- SpringMVC学习day03
第1个springmvc程序 这是根据狂神说视频和资料学习的,用于加强自己的记忆 入门学习 1. 步骤: 1.新建一个Moudle , springmvc-02-hello , 添加web的支持! 2 ...
- Delphi 新语法:匿名函数
这里的新语法一般指Delphi7不支持的语法. 对于比较简单实现,不需要复用,开发者更喜欢在使用时,原地声明,而没有必要单独声明并实现这个方法. 通过关键字reference来定义一个匿名函数. 下面 ...
- 7.mysql索引失效
失效的七字口诀: 模型数空运最快 模:模糊查询以%开始索引失效: 型:数据类型转换 函数:函数的索引 空:索引列为空不走索引, 运:对索引列进行加减乘除会失效 最:不按聚合索引的最左匹配会 ...
- 设置NTP校时
设置NTP校时-作为客户端 @echo off rem 以管理员身份执行文件 rem 适用于域控PDC主机,对于未加域的计算机可直接使用Internet时间同步 rem 获取管理员权限 %1 msht ...
- windows 2012 打补丁升级后不能启动处理
如果可以进入WinRE这个修复的高级选项,选择安全模式,是否可以进入,卸载最近安装的补丁,再重启看一下. 如果无法进入安全模式的话,那么选择cmd模式,使用下方命令.这通常会回退pending的upd ...
- k8s_namespace
namespace 可以认为namespaces是kubernetes集群中的虚拟化集群.在Kubernetes集群可以拥有多个命名空间,它们在逻辑上彼此隔离. 多数的Kubernetes中的集群默认 ...
- Flink Application Development DataStream API Event Time--Flink应用开发DataStream API事件时间
目录 概览 事件时间 接下来去哪儿 水印生成 水印策略简介 使用水印策略 处理空闲源 写水印生成代码 写周期WatermarkGenerator代码 写符号形式的WatermarkGenerator代 ...
- mysql 删除商品名字重复数据,同时保留最新一条
delete goods where goods_id in (SELECT goods_id FROM goodswhere goods_name in (select goods_name fro ...
- Java-对象 认识对象
1.对象同时具有属性和方法两个特性.对象的属性和方法通常被封装在一起,共同体现事物特性,两者相辅相成,不可分割
- redis+token实现一个账号只能一个人登录
自己在闲着没事的时候,突然想到了这么一个小功能,于是决定练习一下,首先想到的是如果一个账号只能一个人登录,可能会出现两个情况,一种是后登录者把前者的账号顶替掉,还有一种就是后者登录的时候会有提示当前账 ...