Jmeter二次开发函数 - 将指定时间转换为时间戳
1、达到效果:在jmeter的函数助手增加一个“timeStamp”函数,调用“timeStamp”函数可以将用户传入的时间转换为时间戳。

2、eclipse项目创建步骤此处省略,可参考上一篇Jmeter二次开发函数之入门
3、直接新建一个class命名为“TimeStampFunction”并继承jmeter自带的AbstractFunction


4、TimeStampFunction.java代码(逻辑为:创建key="__timeStamp",声明传入时间参数的处理方法,最终返回时间戳结果)
package org.apache.jmeter.functions; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
import java.util.LinkedList;
import java.util.List; import org.apache.jmeter.engine.util.CompoundVariable;
import org.apache.jmeter.samplers.SampleResult;
import org.apache.jmeter.samplers.Sampler; public class TimeStampFunction extends AbstractFunction {
private static String key="__timeStamp";
private static List<String> timeParams=new LinkedList<String>();
static
{
timeParams.add("请输入需要转换的时间(必填。填入的时间格式需为yyyy-MM-dd或者yyyy-MM-dd HH:mm:ss)");
}
public String time=""; @Override
public List<String> getArgumentDesc() {
return timeParams;
} @Override
public String execute(SampleResult arg0, Sampler arg1) throws InvalidVariableException {
// TODO Auto-generated method stub
String lastTime="";
System.out.print("用户传入时间为:"+time);
//当传入时间格式为yyyy-MM-dd则自动补充为yyyy-MM-dd HH:mm:ss
String relTime=time.length()==19?time:time+" 00:00:00";
try{
Date guitime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(relTime);
lastTime=String.valueOf(guitime.getTime());
System.out.print(relTime+"转换时间戳为:"+lastTime);
}catch (ParseException e){
e.printStackTrace();
lastTime="输入日期格式错误,请重新填入";
}
System.out.print("最终转换时间戳为:"+lastTime);
return lastTime;
} @Override
public String getReferenceKey() {
return key;
} @Override
public void setParameters(Collection<CompoundVariable> arg0) throws InvalidVariableException {
checkParameterCount(arg0,1);
Object[] data=arg0.toArray();
time=((CompoundVariable)data[0]).execute();
} }
5、将TimeStampFunction.java代码保存,导出到桌面并命名为TimeStampFunction.jar。将TimeStampFunction.jar复制到jmeter目录下\apache-jmeter-5.5\lib\ext\

6、重启jmeter,打开函数助手可以看到多了一个timeStamp函数,并且函数可以传入时间参数并获对应的时间戳


Jmeter自带函数也可以将指定时间转化为时间戳,参考Jmeter函数助手30-groovy
Jmeter二次开发函数 - 将指定时间转换为时间戳的更多相关文章
- JMeter 源码二次开发函数示例
JMeter 源码二次开发函数示例 一.JMeter 5.0 版本 实际测试中,依靠jmeter自带的函数已经无法满足我们需求,这个时候就需要二次开发.本次导入的是jmeter 5.0的源码进行实际的 ...
- Jmeter二次开发——自定义函数
在之前的博文中,Jmeter二次开发--基于Java请求,已介绍了Jmeter二次开发的基础情况,上次分享的是java请求开发,今天来分享下Jmeter中的函数开发.聊到Jmeter的函数,知道Jme ...
- JMeter二次开发(2)-编写 JSON Assertion 插件
本篇文章主要介绍如何对JMeter进行二次开发,添加自己所需的功能.这里以Json验证为例进行说明.在web接口测试过程中,JSON的应用已经非常普遍,但原声的JMeter并没有提供Json及Json ...
- Jmeter二次开发实现自定义functions函数(九)
在Jmeter->选项->函数助手对话框中我们可以看到Jmeter内置的一些常用函数,但考虑到测试过程中的实际情况,我们经常需要在脚本引用或者实现自定义的函数.那么如何在"函数助 ...
- jmeter 二次开发---实现自定义函数插件
1.前提: 有时候,Jmeter自带的函数,可能不能满足于业务的需求,这时候,我们可以自己写一个函数插件: 2.创建maven工程 一直next,输入GroupID,ArtifactId->fi ...
- 性能测试基础---jmeter二次开发
·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...
- JMeter二次开发(1)-eclipse环境配置及源码编译
1.下载src并解压 http://jmeter.apache.org/download_jmeter.cgi 2.获取所需jar包,编译 ant download_jars ant instal ...
- 【NX二次开发】获取指定矩阵标识的矩阵值
函数:UF_CSYS_ask_matrix_values () 函数说明:获取指定矩阵标识的矩阵值. 用法: #include <uf.h> #include <uf_csys.h& ...
- jmeter 二次开发
基于jmeter的java请求的二次开发 常用的方法: ①.addArgument("name", "value") 定义参数 ②.sampleStart ...
- Jmeter二次开发——基于Java请求
简述 这近几年,越来越多非http的协议需要进行性能测试,包括不仅限于各类rpc.mq.缓存等.对于这些协议,市面上可能没有现成的工具可以直接使用,这个时候,我们可以自己动手,通过编写相应的JavaS ...
随机推荐
- CentOS7的一些常规操作
1.启动或者重启sshd服务: systemctl stop sshd.service systemctl start sshd.service systemctl restart sshd.serv ...
- js 生成pdf
最简洁的代码 <script src="js/html2canvas.min.js" type="text/javascript" charset=&qu ...
- Qt开发技术:Q3D图表开发笔记(四):Q3DSurface三维曲面图颜色样式详解、Demo以及代码详解
前言 qt提供了q3d进行三维开发,虽然这个框架没有得到大量运用也不是那么成功,性能上也有很大的欠缺,但是普通的点到为止的应用展示还是可以的. 其中就包括华丽绚烂的三维图表,数据量不大的时候是可 ...
- Qt工具栏的使用
参考视频:黑马科技:https://www.bilibili.com/video/BV1XW411x7NU?p=19 对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互. ...
- 史上最强 AI 翻译诞生了!拳打谷歌,脚踢 DeepL
CoT 推理范式 默认情况下,大语言模型通常是直接给出问题的最终答案,中间推理过程是隐含的.不透明的,无法发挥出大模型最极致的理解能力.如果你用它来充当翻译,可能效果和传统的机器翻译也差不了太多. 如 ...
- YNOI 做题记
YNOI 做题记 偶然有一天做到了其中的一道题,于是便开始做相关的题了-- [Ynoi2015] 我回来了 - 洛谷 这之一场联考搬过来的题--于是考场上写了一个 \(O((n + m)\log^2 ...
- 算法金 | LSTM 原作者带队,一个强大的算法模型杀回来了
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 时间拉回 2019 年,有「计算机界诺贝尔奖」之称图灵奖获得者公布,深度学习三巨头:Y ...
- Ubuntu安装VMware tools后不起作用
复制和立即适应客户机不起作用. 解决: 1)不需要卸载 2)命令行执行sudo apt-get install open-vm-tools-desktop 3)可能会提示apt-get update或 ...
- 为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
Hibernate 属于全自动 ORM 映射工具,使用 Hibernate 查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的.而 Mybatis 在查询关联对象或关联集合 ...
- python selenium.remote远程连接时间达10分钟
问题: 在机器A搭建了selenium-grid的环境,hub以4444端口号启动,并在4444下注册了子node,端口4445,浏览器配置chrome 使用代码进行远程连接,并创建会话: 传入的se ...