• 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

             

            

  • 相关阅读:
    Java入门
    Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8
    pypy3.8安装
    asyncio执行阻塞代码
    linux安装go
    python消费rabbitmq
    绑定进程到指定cpu运行
    负载均衡算法
    django版本规划
    FastAPI WebSocket 简单演示
  • 原文地址:https://www.cnblogs.com/Shanghai-vame/p/10914720.html
Copyright © 2020-2023  润新知