jmeter使用

[TOC]


自带函数

time 获取时间

jmeter使用_第1张图片
图片.png

时间规则:年 = yyyy, 月=MM,日=dd,小时=HH,分钟=mm,秒=ss

格式简写:

  • YMD = yyyyMMdd

  • HMS = HHmmss

  • YMDHMS = yyyMMD-HHmmss

示范

获取13位时间戳(毫秒级): ${__time(,)}

获取10位时间戳(秒级):$(__time(/1000,))

生成知道格式时间:时间格式:yyyy-MM-dd HH:mm:ss = = ${__time(yyyy-MM-dd HH:mm:ss,)},获取当前时间

timeShift 时间位移,指定过去或将来时间

jmeter使用_第2张图片
图片.png

jmeter使用_第3张图片
图片.png

jmeter使用_第4张图片
图片.png

显示格式为yyyyMMdd,时间基准20200420,向后推移2天:

jmeter使用_第5张图片
图片.png

显示格式为时间戳(毫秒级),时间基准为当前时间,向后推移10分钟

${__timeShift(,,PT10M,,)}

显示格式为 yyyy/MM/dd HH:mm:ss,时间基准为 2020/04/17 17:38:00,向后推迟 10分20秒

${__timeShift(yyyy/MM/dd HH:mm:ss,2020/04/17 17:38:00,PT10M20S,,)}

Random 生成随机数

${__Random}

一种是利用【__Random】函数(生成的随机数不唯一,可能会重复)

jmeter使用_第6张图片
图片.png

UUID 生成唯一随机数

${__UUID}

digest 获取MD5,SHA的结果

BeanShell PreProcessor

BeanShell是一个小型嵌入式Java源代码解释器,具有对象脚本语言特性,能够动态地执行标准JAVA语法,并利用在JavaScript和Perl中常见的的松散类型、命令、闭包等通用脚本来对其进行拓展。BeanShell不仅仅可以通过运行其内部的脚本来处理Java应用程序,还可以在运行过程中动态执行你java应用程序执行java代码。因为BeanShell是用java写的,运行在同一个虚拟机的应用程序,因此可以自由地引用对象脚本并返回结果。

参数描述

| 属性 | 描述 |
| 名称 | 该元件的描述性名称,用于在测试树种标识元件。 |
| Reset bsh.Interpreter before each call | 如果设置该选项,那么就会为每个采样器重新创建解释器。 |
| Parameters to be passed to Bean Shell | 传递给BeanShell脚本的参数。参数存在于如下变量表中:
1)String Parameters:包含有参数的字符串,作为单个变量存在
2)String []bsh.args:包含有参数的字符串数组,以空格作为间隔 |
| Script file | 一个文件,其中包含有待运行的BeanShell脚本 |
| Script |

BeanShell脚本。返回值将被忽略。

|

常用内置方法

  • log: 输出到日志文件,写入bin/jmeter.log文件,使用方法:log.info("hello, jin")

  • vars: 方法jmeter变量,提供获取/定义变量的方法

    • vars.get("user_id"): 从jmeter获取user_id的变量值

    • vars.put("req": value): 把value的值定义到jmeter变量req中

自带commons-codes.jar包做md5

commons-codec下载

commons-codec使用文档

示范:获取用户密码,对它做32位的md5加密并注入到jmeter命令seq中


import org.apache.commons.codec.digest.DigestUtils;

String pwd = vars.get("user_passwd");

String pwd_md5 = DigestUtils.md5Hex(pwd);

log.info("pwd_md5:{}",pwd_md5);

vars.put("seq",pwd_md5);

参考资料:

https://www.cnblogs.com/hanmk/p/12716883.html

你可能感兴趣的:(jmeter使用)