jmeter使用beanshell构造参数化

1、先在本地写一个java类,用来随机生成一个数字,如:

package com.jmeter.test;

public class BeanShellTest {
	public int getRandom() {
		int i = (int) (Math.random()*1000);
		System.out.println(i);
		String.valueOf(i);
		return i;
	}
}

  

2. 在jmeter依次添加线程组、http请求、http请求下添加前置处理器的BeanShell PreProcessor、查看结果树和debug

3.最终的树结果如下:

4.打开BeanShell PreProcessor来写我们的参数构造

source("D:\\workspace\\jmetertest\\src\\test\\java\\com\\jmeter\\test\\BeanShellTest.java");  //引入步骤1的本地代码

int a = new BeanShellTest().getRandom();
vars.put("a",String.valueOf(a));

String b = "helloworld";
vars.put("b",b);

5.打开http请求,引用构造的参数值

6.运行结果可以看到请求已经拿到了我们在BeanShell PreProcessor构造的数值:

时间: 2024-10-13 03:12:43

jmeter使用beanshell构造参数化的相关文章

利用JMeter的beanshell进行接口的加密处理

最近项目中在做http协议的接口测试,其中接口请求报文数据有个字段值需要用到加密后的签名,即出于网络传输过程中,对数据安全的考虑,要对请求的数据进行特定的处理(加密),再进行请求. 刚开始由于项目赶进度的需要,选择的做法是:让开发写个加密处理生成请求报文的代码,然后每次测试发送一次请求都用eclipse跑一遍该代码,测试数据的修改也是在代码中变更.这样跑一轮测试下来,测试同事都反映太累了. jmeter中的BeanShell,可以用来调用我们的工具类对数据进行处理,然后再进行相关的请求.自己刚好

jmeter通过BeanShell 脚本,实现对http请求参数的加密

jmeter一直是一款很好的接口和性能测试工具,它是开源的,不需要为此支付任何费用,而且可以下载源码,可以在修改源代码并在此基础上拓展自己的功能或插件,它可以跟ant和jenkins结合起来搭建自己的自动化接口测试框架.它的好还在于它是纯JAVA开发的,因此,它可以更好的跟JAVA对接,通过引入自己封装的jar文件,可以方便的实现对jmeter各种个性化需求的功能的拓展,下面以一个实际例子来说明jmeter怎么引入自己开发的java工具类来实现对http请求参数的加密处理. 在此之前,我们假设有

【Jmeter基础知识】Jmeter的三种参数化方式

JMeter的三种参数化方式包括: 1.用户参数 2.函数助手 3.CSV Data Set Config 一.用户参数 位置:添加-前置处理器-用户参数 操作:可添加多个变量或者参数 二.函数助手 位置:按照1-2-3的步骤 操作:4中填写文件的位置,5中填写要读取的列的位置,第一列为0.点击[生成]按钮,拷贝字符串,去替换要参数化的值. 注意:Jmeter读取的文件中第一行没有标题,直接就是值了. 三.CSV Data Set Config 1.为文件所在的位置,可以建txt文档,然后,直接

JMeter中BeanShell实现写入文件

1.首先F:\test.txt文件为空 2.定义JMeter参数 3.编写BeanShell代码 public static void execParam() { String getdata = vars.get("v1"); //vars.get("v1"):意思是获取JMeter的参数值,然后将获取的值赋值给getdata变量 //用以下方式也可以://String getdata = "${v1}"; //String getdata =

JMeter用BeanShell获取复杂的JSON串中的某个参数的值

大家好,这篇博文中主要是介绍怎么用JMeter的BeanShell去获取复杂的JSON串中的某个参数的值,这将 便于我们用JMeter做出更完美的自动化测试: 首先有这样一个json串,如下图所示: 如上图中,画红框的部分,参数xsddbh(111807200000645300)的值可知,在下一个接口请求中,需要用到上图中的参数 cpbh(1532048096286)的值,然而参数xsddbh在json串中的每个list都有,那么这时候怎么办呢?在这里我将用alibaba.fastjson 这个

JMeter使用BeanShell断言

BeanShell简介 BeanShell是使用Java语法的一套脚本语言,在JMeter的多种组件中都有BeanShell的身影,如: 定时器:BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器:BeanShell Sampler 后置处理器:BeanShell PostProcessor 断言:BeanShell Assert 监听器:BeanShell Listener 通过BeanShell可以对请求数据.响应数据或环境变量进行更加灵活的处理

JMeter中BeanShell用法总结(一)

一.什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k. BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法. 二.Jmeter有哪些Bean Shell 定时器: BeanSh

Jmeter之BeanShell变量使用讲解

一.在测试过程中经常会遇到一些业务逻辑处理需要,单纯的线程设置不能满足,这时候就要使用BeanShell编写一定的脚本 前置处理器:BeanShell PreProcessor,主要接口请求前做一些参数化及逻辑处理 后置处理器:BeanShell PostProcessor ,自己写脚本提取参数,或者使用正则表达式 本人主要由于接口加密,从而需要使用BeanShell做一些接口参数化 二.接口加密需要开发提供的Jar包,放到/Users/wuxi/Documents/apache-jmeter-

jmeter之json数据参数化 断言等

在 http Load Testing 中,json 数据的提交是个让人头疼的问题.本文详细介绍如何进行 JMeter 的 json 测试提交,以及如何将其参数化.Step 1 http json 请求采样器的录制 这个工具很多,可以使用 JMeter 代理录制,也可以使用 Badboy. Step 2 为该采样器添加 HTTP 信息管理器鼠标右击该采样器,右键菜单选择 "添加" -> 配置元件 -> HTTP 信息头管理器,然后信息头添加一条名称为 Content-Typ