JMeter 时间处理与保存响应消息体数据

一、时间处理

  • 官网链接:https://jmeter.apache.org/usermanual/functions.html

1、__time

  • 语法:${__time(Format)} 或者${__time(Format,variable)}
  • 参数:Format,非必填

设置返回的日期格式,该参数支持多种简单表达式。如果省略,该函数将返回自纪元以来的当前时间(以毫秒为单位)

  • 参数:Name of variable,非必填

要设置的变量名称,改变量可以在其他地方引用

(1)获取当前时间

  • ${__time(,)}或者${__time()}:毫秒级别

如果格式匹配“/ddd”(其中 ddd 是十进制数字),则该函数返回以毫秒为单位的当前时间除以 ddd 的值

  • ${__time(/1000,)}:秒级别

(2)格式化

  • YMD = yyyyMMdd
  • HMS = HHmmss
  • YMDHMS = yyyyMMdd-HHmmss
  • USER1 = whatever is in the JMeter property time.USER1
  • USER2 = whatever is in the JMeter property time.USER2

可以通过time.YMD=yyMMdd来设置 JMeter 默认值的属性

  • ${__time(dd/MM/yyyy,)} = 03/09/2020
  • ${__time(YMD,)} = ${__time(yyyyMMdd)} = 20200903.
  • ${__time(yyyy-MM-dd HH:mm:ss,)} = 2020-09-03 18:40:33

1、__timeShift

  • 语法:${__timeShift(Format,Date to shift,value to shift,Locale to use for format,Name of variable)}

  • 参数:Format,与上面一样,非必填

  • 参数:Date to shift,日期转换,非必填

以第一个参数“格式”设置的格式转换指定日期

  • 参数:value to shift,值转换,非必填

转换成指定的秒数,分钟数,小时数或天数

  • PT20.345S 解析为 20.345 秒:显示时间为当前时间 + 20.345 秒
  • PT15M 解析为 15 分钟:显示时间为当当前时间 + 15 分钟
  • PT10H 解析为 10 个小时:显示时间为当当前时间 + 10 小时
  • P2D 解析为 2 天:显示时间为当当前时间 + 2天
  • P6H3M 解析为 6小时3分钟:显示时间为当前时间 + 6小时3分钟

如果 P 或者 PT 前面是 “-” 则表示当前时间减去指定时间

  • 参数:Locale to use for format,用于格式的区域设置,非必填

格式参见:https://www.oracle.com/java/technologies/javase7locales.html

    • 参数:Name of variable,与上面一样,非必填

(1)获取当前时间

  • ${__timeShift(,,,,)}
  • ${__timeShift(dd/MM/yyyy,,,,)}

(2)前时间 +/-(加/减)

  • ${__timeShift(yyyyMMdd,,P1d,,)}: 增加一天
  • ${__timeShift(yyyy-MM-dd HH:mm:ss:SSS,,P1dT1H10m20s,,)}:增加1天1小时10分20秒
  • ${__timeShift(yyyyMMdd,,-P1d,,)} = ${__timeShift(yyyyMMdd,,P-1d,,)}:减少一天
  • ${__timeShift(dd/MM/yyyy,03/09/2020,P2D,,)}:05/09/2020

二、保存响应消息体数据

1、察看结果树

(1)

  • 功能比较鸡肋,能够保存日志
  • 配置:可以设置保存的内容
  • 选择文件后,有报错可以忽略
    JMeter 时间处理与保存响应消息体数据_第1张图片

(2)效果

  • 最好确保该文件是空的
    在这里插入图片描述

2、保存响应到文件

  • 可以将响应的数据保存的文件内

  • 可以设置目录,运行时自动创建,重名则会替换
    JMeter 时间处理与保存响应消息体数据_第2张图片

  • Save Failed Responses only:只保存失败的响应

  • Save Successful Responses only:只保留成功的响应

  • don’t save Transaction Controller sampler:不保存事务控制器

  • Don’t add number to prefix:不添加数字到文件名前缀(勾选的话,文件名前缀则不会有数字编号)

  • Don’t add content type suffix:不添加文件后缀,即扩展名(注:默认情况下,jmeter会根据服务器返回的结果自动生成合适类型的文件,比如服务器返回json格式的内容,jmter会自动生成.json文件)

    • 不勾选则可以制订文件格式
  • Add timestamp:添加时间戳到文件前缀

  • Minimum Length of sequence number:数字前缀的最大位数,比如3,则最大可以到999

(1)示例

JMeter 时间处理与保存响应消息体数据_第3张图片

(3)结合函数或者变量

  • D:\Documents\测试文件\人群分流\\${time}\response_${__samplerName()}_JMeter 时间处理与保存响应消息体数据_第4张图片
  • 使用变量或者${__timeShift(yyyyMMdd,,P1d,,)}时,要注意前面使用双斜杆 \\${time}
  • ${__samplerName()}:获取取样器的名称

你可能感兴趣的:(Jmeter,接口测试,软件测试,JMeter,jmeter,接口测试)