JMeter 动态参数请求

      • JMeter 动态参数请求
        • 添加执行任务
        • 设置全局参数
        • 设置cookice
        • 添加http请求可设置 请求头信息 请求方式 数据传输方式 等
        • 使用 BeanShell PreProcessor 前置处理参数
        • 可添加 察看结果树 或者 图形结果 等观察

JMeter 动态参数请求

添加执行任务

设置全局参数

  • 设置tonken data 等自定义变量

JMeter 动态参数请求_第1张图片

设置cookice

  • 如果要测试要登陆的网站 , 可以先登陆获取cookie 导入到HTTP cookie 管理中

JMeter 动态参数请求_第2张图片

添加http请求(可设置 请求头信息 , 请求方式, 数据传输方式 等)

  • 例子: 以json 方式

    JMeter 动态参数请求_第3张图片

使用 BeanShell PreProcessor 前置处理参数

  • 主要处理脚本
  • 例子:

import sun.misc.BASE64Encoder;


public void test(){
String s = "{\"serialNumber\":\"#serialNumber#\",\"channelNo\":\"Q001\",\"bankId\":\"700\",\"accountId\":\"111\",\"accountName\":\"xsj#nameno#\",\"bankAccountName\":\"xsj#nameno#\",\"bankAccountNumber\":\"#bankAccountNumber#\",\"identificationType\":\"0\",\"identificationNumber\":\"1111111111\",\"phoneNumber\":\"111111111\",\"cardType\":\"10\",\"validDate\":\"\",\"cvn2\":\"111\",\"remark\":\"\",\"notifyUrl\":\"rabbitmq://test.com/mem_ex\"}";
    String  bankAccountNumber = "62170027100";
    int i = 6848;
    int rm = (int)(Math.random()*1000000);

    i = i + rm;


    String val =  String.valueOf(i);

    int length = val.length();

    for (int j = length; j < 6; j++) {
        val = "0" + val;
    }

    bankAccountNumber = bankAccountNumber + val + "10";

    String serialNumber = java.util.UUID.randomUUID().toString().replace("-","");
    s = s.replace("#serialNumber#", serialNumber).replace("#nameno#",rm+"");
    s = s.replace("#bankAccountNumber#", bankAccountNumber );
    String data = new BASE64Encoder().encode(s.getBytes()).replace("\r", "").replace("\n", "");

    String token = new BASE64Encoder().encode(serialNumber.getBytes()).replace("\r", "").replace("\n", "");

    vars.put("data",data);
    vars.put("token",token);
}

test();
  • 还有引入jar 文件执行 具体看官网

可添加 察看结果树 或者 图形结果 等观察

你可能感兴趣的:(学习笔记)