Jmeter BeanShell 时间格式化处理

时间:2023-03-09 01:52:41
Jmeter BeanShell 时间格式化处理

工作中碰到的,记录下

在XML格式的请求数据中,Soap接口请求中的日期参数格式是这样的"2016-07-20T18:03:00"

在日和时之间多了一个T

所以在Jmeter-->线程组-->Samper-->SOAP/XML-RPC Request中的请求体中不能直接使用帮助函数

${__time(yyyyMMdd-HHmmss,)}

来参数化日期请求

我的做法是在接口请求前配置一个前置处理器BeanShell PreProcessor

import java.text.*;
import java.util.Date;
Date currentTime = new Date();
SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat formatter2 = new SimpleDateFormat("HH:mm:ss");
String dateString1 = formatter1.format(currentTime);
String dateString2 = formatter2.format(currentTime);
String dateString = dateString1+"T"+dateString2;
vars.put("Date",dateString);

之后就可以直接参数化引用${Date}请求了