Jmeter中的timeshift()函数获取当前时间进行加减

yizhihongxing

Jmeter是一款功能强大的压力测试工具,在实际使用中,我们通常需要对请求进行定制化操作,例如,将请求时间加减一定的时间,以观察服务器在不同时间的响应情况。这时,我们可以使用Jmeter中的timeshift()函数来进行操作。

什么是timeshift()函数

timeshift()函数是Jmeter自带的日期操作函数,用于获得和操作当前时间。该函数可以根据当前时间进行加减计算,格式化输出各种时间类型,以满足我们对压测场景的需求。该函数的语法格式如下:

${__timeShift(format,amount,type)}
  • format:要获取到的时间的格式化格式,例如“yyyy/MM/dd HH:mm:ss”
  • amount:时间偏移量,正数表示加,负数表示减,单位为毫秒
  • type:时间偏移量的单位类型,比如“MILLISECOND”、“SECOND”、“MINUTE”、“HOUR”、“DAY”、“MONTH”、“YEAR”等。

timeshift()函数使用示例

下面通过两个示例,详细讲解timeshift()函数的使用。

示例1:请求时间加上固定的时间

1.添加线程组并在其中添加HTTP请求。

2.定义一个变量current_time,并赋值为当前时间,格式为“${__time(yyyy-MM-dd HH:mm:ss)}”。

3.使用timeshift()函数,将current_time加上20秒(20000毫秒)的时间,格式为“${__timeShift(${current_time},20000)}”。此时,timeshift()函数会将current_time加上20秒的时间。

4.将${__timeShift(${current_time},20000)}作为请求的时间参数,并发送请求。

完整的Jmeter脚本如下:

<ThreadGroup>
    <HTTPSampler>
        <elementProp>
            <stringProp name="Argument.value">${__timeShift(${current_time},20000)}</stringProp>
        </elementProp>
    </HTTPSampler>
</ThreadGroup>

示例2:请求时间减去固定的时间

1.添加线程组并在其中添加HTTP请求。

2.定义一个变量current_time,并赋值为当前时间,格式为“${__time(yyyy-MM-dd HH:mm:ss)}”。

3.使用timeshift()函数,将current_time减去10分钟(600000毫秒)的时间,格式为“${__timeShift(${current_time},-600000,'MILLISECONDS',yyyy-MM-dd HH:mm:ss)}”。此时,timeshift()函数会将current_time减去10分钟的时间,并将结果格式化为“yyyy-MM-dd HH:mm:ss”的形式。

4.将${__timeShift(${current_time},-600000,'MILLISECONDS',yyyy-MM-dd HH:mm:ss)}作为请求的时间参数,并发送请求。

完整的Jmeter脚本如下:

<ThreadGroup>
    <HTTPSampler>
        <elementProp>
            <stringProp name="Argument.value">${__timeShift(${current_time},-600000,'MILLISECONDS',yyyy-MM-dd HH:mm:ss)}</stringProp>
        </elementProp>
    </HTTPSampler>
</ThreadGroup>

通过上述两个示例,我们可以看到timeshift()函数的强大功能,在实际的压力测试操作中,可以根据需要自由组合使用,以实现定制化的场景需求。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jmeter中的timeshift()函数获取当前时间进行加减 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java发送kafka事务消息的实现方法

    Java发送Kafka事务消息的实现方法可以分为以下步骤: 步骤一:配置事务环境 配置Kafka事务环境需要设置事务ID和Kafka事务的属性。以下是示例代码: Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092&…

    Java 2023年5月20日
    00
  • SpringMVC实现数据绑定及表单标签

    讲解“SpringMVC实现数据绑定及表单标签”的完整攻略如下: 1. 数据绑定 SpringMVC通过数据绑定将请求参数映射到控制器方法的入参中。实现数据绑定需要在控制器方法入参前面添加@ModelAttribute注解,例如: @RequestMapping(value="/user") public String showUserI…

    Java 2023年6月15日
    00
  • Struts2学习教程之Action类如何访问WEB资源

    为了让Action类能够访问WEB资源,需要进行以下几个步骤: 1. 在struts.xml中进行配置 在struts.xml中需要配置一个<constant>元素,设置resourceBase属性为需要访问的WEB资源的路径。 示例代码: <constant name="struts.convention.result.path…

    Java 2023年5月20日
    00
  • SpringMVC框架实现图片上传与下载

    下面是关于“SpringMVC框架实现图片上传与下载”的完整攻略,包含两个示例说明。 SpringMVC框架实现图片上传与下载 SpringMVC是一个流行的Java Web框架,它可以帮助我们更加方便地构建Web应用程序。本文将介绍如何使用SpringMVC框架实现图片上传与下载。 步骤一:创建SpringMVC项目 首先,我们需要创建一个SpringMV…

    Java 2023年5月17日
    00
  • 别了Java EE! 正式更名为Jakarta

    针对Java EE正式更名为Jakarta的问题,我会进行详细的讲解,包括以下几点: 1. 背景 在2017年8月,Oracle公司宣布将 Java Enterprise Edition(EE)的所有商标和相关的Java EE规范文档转移到Eclipse基金会。在经过一段时间的讨论、咨询和协作后,Java EE正式在2018年9月转交给了 Eclipse 基…

    Java 2023年5月19日
    00
  • Java 基础之NIO 学习详解

    Java 基础之NIO 学习详解 简述 NIO,全称为“New IO”,是Java 1.4 引入的一套用于更高效的 I/O 操作的API。NIO主要包括以下三个核心组件:Channel、Buffer 和 Selector。其中,Channel 和 Buffer 主要用于底层数据传输,Selector 则用于监听 Channel 上的 IO 事件。 NIO 与…

    Java 2023年5月26日
    00
  • Mybatis-Plus Wrapper条件构造器超详细使用教程

    下面是Mybatis-Plus Wrapper条件构造器超详细使用教程的完整攻略。 一、什么是Mybatis-Plus Wrapper条件构造器? Mybatis-Plus是Mybatis的增强工具,在实际开发中经常使用。其中Mybatis-Plus Wrapper是一个条件构造器,它能够帮助程序员拼装复杂的查询条件。 举个例子:我们需要查询表中age大于1…

    Java 2023年5月20日
    00
  • java当中的定时器的4种使用方式

    首先我们来介绍一下Java中的定时器。在Java中,我们通常使用定时器来执行定时任务,例如在定时轮询某个任务、定时刷新界面等等。Java中的定时器主要有以下4种使用方式: 1. Timer Timer是Java中内置的定时器,可以用于执行定时任务。通过Timer对象,我们可以设置需要定时执行的任务并设定执行时间,例如在5秒后执行任务、每隔10秒执行一次任务等…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部