Jmeter的beanshell应该怎么写?

目的:JMeter的beanshell编写

问题:在某些查询场景中传参为前一个月的数据,JMeter获取N天前的日期/N天前的月份以供接口测试传参

解决方案:JMeter中beanshell编写简单的代码,没有现成的方法可以调用

其他:在beanshell中调用JMeter自带方法与其他地方无异,不进行阐述,请自行百度



① 直接在beanshell里面编写java代码获取

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

	//和正常java程序不太一样的是没有定义类和main方法,直接是获取日期和月份的方法
	//传入与当天的相差天数,返回N天前的日期
	public static String calDate(int days) {

		Date now = new Date();
		//System.out.println(now);

		Calendar cal = Calendar.getInstance();

		cal.setTime(now);
		cal.add(Calendar.DATE, days);
		Date now_1 = cal.getTime();

		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");// 可以方便地修改日期格式

		String nowDate = dateFormat.format(now_1);

		return nowDate;
	}
	
      	//传入与当天的相差天数,返回N天前的月份
 	public static String calMonth(int days) 
	{
		Date now = new Date();
		//System.out.println(now);
		Calendar cal = Calendar.getInstance();
		cal.setTime(now);
		cal.add(Calendar.DATE, days);
		Date now_1 = cal.getTime();
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM");// 可以方便地修改日期格式
		String nowDate = dateFormat.format(now_1);
		return nowDate;
	}
		//调用方法获取日期
		String date = calDate(0);  //获得今天的日期
		String date_1 = calDate(-1);  //获得昨天的日期
		String date_6m = calMonth(-180); //计算180天前的月份


		//在jmeter里面需要put,将内部的参数放到beanshell外均可以调用的变量
		vars.put("date", date);
		
		vars.put("date_1", date_1);
		vars.put("date_6m", date_6m);

		//日志显示具体的值,和system.out.println("")效果一样
		log.info("date_6m:" + date_6m);



② 直接导入jar包

1)有些习惯在eclipse或者其他的编程软件先完成方法编写,再导出jar包。

2)把jar包放在计算机某个位置;

3)JMeter测试计划中添加该jar包


4)在beanshell中导入并调用即可



遇到其他的场景需要自行编写代码也是相同的方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值