一、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前置处理器和后置处理器的使用的更多相关文章

  1. Jmeter元件——JSON Extractor后置处理器介绍2

    在前段时间将JSON Extractor元件做了个简单的介绍:Jmeter元件——JSON Extractor后置处理器介绍1,今天以一个具体的json,以不同的方式提取数据做个详细的介绍. 一.模拟 ...

  2. Jmeter元件——JSON Extractor后置处理器

    场景使用 json extractor后置处理器用在返回格式为json的HTTP请求中,用来获取返回的json中的某个值.并保存成变量供后面的请求进行调用或断言等. 使用方法 1.常规操作 路径:选择 ...

  3. jmeter数据关联_后置处理器_正则表达式提取器

  4. Jmeter --Json Extractor (后置处理器)

    一.使用场景 Json Extractor 后置处理器用在返回格式为json的HTTP请求中, 用来获取返回的json中的某个值.并保存成变量供后面的请求进行调用或者断言等. 二.使用方法 1.创建H ...

  5. 【JEMTER】后置处理器JSON Path Extractor获取server端返回的json中某项值

    需求1:点击所有报表模板时,server端返回所有报表模板的ID(templateId),测试时需要下载某个模板生成的报表 需求2:点击单个报表模板时,server端返回这个报表模板下的所有报表ID( ...

  6. Spring-Bean的后置处理器

    Spring——Bean 后置处理器 Bean 后置处理器允许在调用初始化方法前后对 Bean 进行额外的处理. BeanPostProcessor 接口定义回调方法,你可以实现该方法来提供自己的实例 ...

  7. 【Spring注解驱动开发】关于BeanPostProcessor后置处理器,你了解多少?

    写在前面 有些小伙伴问我,学习Spring是不是不用学习到这么细节的程度啊?感觉这些细节的部分在实际工作中使用不到啊,我到底需不需要学习到这么细节的程度呢?我的答案是:有必要学习到这么细节的程度,而且 ...

  8. Jmeter BeanShell前置处理器、取样器、后置处理器

    前置处理器:BeanShell PreProcessor取样器 :BeanShell Sampler后置处理器:BeanShell PostProcessor 1.前置 import org.apac ...

  9. Jmeter(十七) - 从入门到精通 - JMeter后置处理器 -上篇(详解教程)

    1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...

  10. Jmeter(十八) - 从入门到精通 - JMeter后置处理器 -下篇(详解教程)

    1.简介 后置处理器是在发出“取样器请求”之后执行一些操作.取样器用来模拟用户请求,有时候服务器的响应数据在后续请求中需要用到,我们的势必要对这些响应数据进行处理,后置处理器就是来完成这项工作的.例如 ...

随机推荐

  1. 微信小程序图片和签名

    图片上传功能 chooseImage(e) { wx.chooseImage({ sizeType: ['original', 'compressed'], //可选择原图或压缩后的图片 source ...

  2. docker+go+gin部署

    一.准备工作 1.先确保项目可以正常运行 二.编写Dockerfile文件,生成镜像 FROM golang:1.18.1 WORKDIR /go/src/app ADD ./ /go/src/app ...

  3. 性能测试-dstat以及sar(网络相关数据查看)

    1.dstat参数说明 # 安装 yum install dstat -y dstat命令不加任何参数时,会收集CPU.磁盘.网络.分页.系统的数据信息,每秒收集一次.缺省参数时相当于dstat -c ...

  4. 【B站】B站计算集数时长,调节任意倍速

    打开浏览器,任意收藏一个网址,将URL替换为下面的代码并保存 打开任意B站视频页面,点击这个收藏的网址,即可在页面右边看到如下窗口 javascript: (function () { var hou ...

  5. 路由器WDS(无线桥接,无线中继)

    路由器WDS(无线桥接,无线中继)设置,网上的坑货教程只教了一半,却不教另一半.这些教程一般会教你填写远程路由(被中继的路由器信息),顶多再教你把本地路由的网段,改得跟远程路由一样,或关掉本地路由的D ...

  6. C语言学习记录(一)

    C语言学习记录(一) 一.知识要点(程序设计概述) 1.程序与程序设计语言 概念:程序就是给计算机下一系列指令,使其完成任务.而编写这些指令就是程序设计. 程序设计语言 第一代程序设计语言(1GL): ...

  7. 晓晓---python文件的读写模式的理解

    1. python读取文件模式的自我理解:'r' open for reading (default)----只读模式打开文件,不能写:'w' open for writing, truncating ...

  8. 详解 C++ 左值、右值、左值引用以及右值引用

    一.左值和右值 1.左值 [可以取地址的对象就是左值] 左值是一个表示数据的表达式,比如:变量名.解引用的指针变量.一般地,我们可以获取它的地址和对它赋值,但被 const 修饰后的左值,不能给它赋值 ...

  9. 有null值的子查询,子查询加排序,速度大幅提升

    意外发现,如果子查询结果有大量null值,加上一个排序,最后查询速度飞起

  10. StatefulWidget 有状态组件 、 页面上绑定数据、改变页面数据

    一.Flutter 中自定义有状态组件 在 Flutter 中自定义组件其实就是一个类,这个类需要继承 StatelessWidget/StatefulWidget. StatelessWidget ...