Jmeter使用之:怎么编写扩展函数(一)

发表于:2017-11-15 13:54

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:全栈工程师    来源:极客头条

#
Jmeter
分享:
  Jmeter的官方提供的函数挺好用的,但是往往这些函数并不能满足我们所有的需要。所以,我们需要编写自己的扩展函数,下面以获取当前(或者向前,向后)的时间为例。 
  1、首先编写我们的java类,如具体代码如下: 
  package com.ste.ruink.timetool;
  import java.text.SimpleDateFormat; 
  import java.util.Date;
  public class TimeConvert { 
  /* 
  * 获取时间,当前时间往前(后)多少秒,flag为前后标识符(pre-前,later-后,其他值时默认为当前) 
  * seconds为间隔时间多少秒,format为日期格式,默认为yyyy-MM-dd HH:mm:ss 
  */ 
  public static String getTime(String flag,long sec,String format){ 
  //获取当前时间戳 
  long timestamp = System.currentTimeMillis(); 
  long finaltime; 
  if(flag==”pre”){ 
  finaltime = timestamp - sec*1000; 
  }else if(flag==”later”){ 
  finaltime = timestamp + sec*1000; 
  }else{ 
  finaltime = timestamp; 
  } 
  //判断format是否有值 
  if(format.equals(null)||format==”“){ 
  format=”yyyy-MM-dd HH:mm:ss”; 
  } 
  String timestr = String.valueOf(finaltime); 
  String getdate = stampToDate(timestr,format); 
  return getdate; 
  } 
  /* 
  * 将时间戳转换为时间 
  */ 
  public static String stampToDate(String s,String format){ 
  String res; 
  SimpleDateFormat simpleDateFormat = new SimpleDateFormat(format); 
  long lt = new Long(s); 
  Date date = new Date(lt); 
  res = simpleDateFormat.format(date); 
  return res; 
  } 
  /* 
  * 测试代码 
  */ 
  /* 
  public static void main(String[] args) { 
  System.out.print(getTime(“”,60,”“)); 
  }*/ 
  } 
  2、使用eclipse把java导出成jar包,如timetool.jar。(导出jar包:选中要导出的java,然后右击鼠标,依次选择Export->Java->JAR file,然后在界面中填写导出的路径,点击Finish按钮完成导出) 
  3、Jmeter 测试计划底部的library找到timetool.jar,导入进去。 
  4、在Jmeter测试计划下新建线程组,然后在线程组下添加BeanShell Sampler(线程组->添加->Sampler->BeanShell Sampler) 
  5、调用脚本,如在BeanShell Sampler中的script下添加: 
  import com.ste.ruink.timetool.TimeConvert; //标明类路径 
  String time = TimeConvert.getTime(“”,0,”“); //调用类中getTime方法 
  return time; //返回获取到的时间 
  6、在线程组中添加监听器“察看结果树”。然后再点击执行,这时神奇的事情出现了,我们获取到了当前的时间。 
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号