一、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. uniapp离线打包安卓未配置appkey或配置错误

    按照这4步检查都没问题 1.查看签名文件是否配置到了主APP的build.gradle. signingConfigs { config { keyAlias 'newPt' keyPassword ...

  2. 【AD21】软件基础

    1.AD21最后生成什么文件打板子? 生成gerber文件 2.一个工程包括什么? 原理图库,原理图,PCB库,PCB 3.距离单位? 默认是mil,1mm约为40mil 4.软件中PCB层? 表层焊 ...

  3. 成品直播源码推荐,java 实现邮件服务

    成品直播源码推荐,java 实现邮件服务 1. 引入maven 依赖  <!--邮件服务--><dependency>   <groupId>org.springf ...

  4. vue项目打包后,自由修改配置如接口地址等

    背景描述: 项目打包后,如果想更换接口域名或者项目名称,就需要再次打包.但是这样子操作有点耗费时间.如果把这些配置写到一个文件中,然后在index.html文件中引入使用,这样子会大大提高工资效率,节 ...

  5. Elasticsearch Java client使用

    前言 Elasticsearch官方列出了好几个客户端,如下所示 Java Client Java Rest Client(Java High Level REST Client) Java Tran ...

  6. Codeforces 197A Plate Game

    一.题意 你有一个长方形的桌子,长度 a ,宽度 b ,以及无限多的半径 r的圆盘. 两位玩家玩以下游戏:他们轮流把圆盘放在桌子上,使得盘子之间不能互相重叠(但他们的边缘可以互相接触),任何盘子上的任 ...

  7. IIS部署HTTPS站点

    常用的IIS大体有二个版本: IIS8和IIS7,分别有不同的配置方法如下: IIS8.5以上版本 1).新建一个站点,切记尽量不要与旧http协议站点共用一个站点,容易冲突 2).先将https证书 ...

  8. mybatis-属性名和查询字段名不相同的解决方案

    1.使用别名 resultType可以将查询结果直接映射为实体bean对象的条件是,sql查询的字段名和实体bean的属性名一致,通过反射机制完成对象的创建. select tid id,tname ...

  9. SQL Server【提高】碎片

    碎片 当对索引所在的基础数据表进行增删改时,若存储的数据进行了不适当的跨页(SQL Server中存储的最小单位是页,页是不可再分的),就会导致索引碎片的产生. 外部碎片 插入的数据使页与页之间造成断 ...

  10. C# DateTime转换为字符串

    12小时制:DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") 24小时制:DateTime.Now.ToString("yyyy- ...