jmeter5.0增加预处理器BeanShell PreProcessor,请求报文中添加变量

创建jmter项目之类的就不说辣,这里直接说怎么添加BeanShell PreProcessor
jmeter5.0增加预处理器BeanShell PreProcessor,请求报文中添加变量_第1张图片
添加完成后在里面编写自己的代码,这里的代码直接用java就好了,jdk自带的类和工具之类的就不用import了,但是如果是需要放第三方的jar或者自己的jar的话需要把jar先放到jmeter目录下lib\ext文件夹中。
使用的时候在代码前申明导入包,如

import com.test.main.*;

比如这里我要获取当前的时间戳,作为我的请求参数那么直接在BeanShell PreProcessor文件里写

//注意要加上双引号,vars接收的是String,String
//vars和props是内置的参数,具体用法这里不详细解释
vars.put("fileName",System.currentTimeMillis()+".txt");

完了在构造请求body的时候带上${fileName},表示引用这个变量,和我一样钻牛角尖的估计会发现${fileName}外面有一对双引号,是因为这里filename在服务端是当作字符串来接收的,如果不加双引号最后发出去的报文会变成"fileName":1588752663067.txt,服务端解析会报错

{
     "path":"/usr/local/temp/","fileName":"${fileName}"}

最后如果途中遇到问题,注意观察左上角的黄色叹号,点开可以看到错误信息
jmeter5.0增加预处理器BeanShell PreProcessor,请求报文中添加变量_第2张图片

你可能感兴趣的:(好用的工具介绍,jmeter,变量,预处理器)