ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Jmeter常用函数

2022-05-27 16:34:35  阅读:199  来源: 互联网

标签:__ 常用 变量名 函数 必填 variable 字符串 Jmeter optional


 目录

Jmeter常用函数

Jmeter提供了很多函数,但我们一般只会用到部分的常用函数,所以重点讲解常用的函数及其使用方法

Jmeter查询可使用的函数

打开Jmeter,点击Tools——>函数助手对话框,打开函数助手对话框

函数介绍及其使用

__BeanShell

  • 作用:执行BeanShell语法的程序语句或者Bean Shell脚本文件,比如得到一个算数运算的结果,拼接两个字符串。

  • 参数:
    Expression to evaluate:必填,BeanShell语法的程序语句或者Bean Shell脚本文件
    Name of variable in which to store the result (optional):非必填,储存结果的变量名

  • 示例:
    ${__BeanShell(156/13,)}:得到156除以13的结果为12
    ${__BeanShell(“adf”+”8998”,)}:得到两个字符串拼接后的结果为adf8998
    ${__BeanShell(“${msg01}”+”${msg02}”,msgvar)}:得到${msg01}与${msg02}拼接的字符串${msg01}${msg02},并将其保存至变量msgvar中,使用${msgvar}即可调用

__CSVRead

  • 作用:从csv或者txt文件读取指定列的值,从第0列开始,如果有多个线程,按顺序从第一行开始读取,如果线程数超过数据行数,则重新从第一行开始循环获取。

  • 参数:
    CSV file to get values from | *alias:必填,文件绝对路径
    Column number of CSV file | next | *alias:必填,读取第几列的数据,从0开始

  • 示例:
    ${__CSVRead(F:\PPM\JmeterScripts\TSN.csv,0):获取TSN.csv文件中第一列的数据
    ${__CSVRead(F:\PPM\JmeterScripts\TSN.csv,1):获取TSN.csv文件中第二列的数据

__Random

  • 作用:生成指定范围内的随机数

  • 参数:
    The minimum value allowed for a range of values:必填,开始值,包括开始值
    The maximum value allowed for a range of values:必填,结束值,包括结束值
    Name of variable in which to store the result (optional):非必填,储存结果的变量名

  • 实例:
    ${__Random(1,100,num)}:随机生成1~100之间的整数,并赋值给变量num

__RandomDate

  • 作用:生成指定范围内的日期

  • 参数:
    Format string for DateTimeFormatter (optional) (default yyyy-MM-dd):非必填,日期格式,默认yyyy-MM-dd
    Start date (optional) (default: now):非必填,开始日期
    End date:必填,结束日期
    String format of a locale (ex: fr_FR , en_EN) (optional):非必填,语言
    Name of variable in which to store the result (optional):非必填,储存结果的变量名

  • 示例:
    ${__RandomDate(yyyyMMdd,20210101,20220329,,):以yyyyMMdd格式随机生成20210101到20220329的随机日期

__RandomString

  • 作用:生成指定长度的字符串

  • 参数:
    Random string length:必填,字符串长度
    Chars to use for random string generation:必填,可选字符串
    Name of variable in which to store the result (optional):非必填,储存结果的变量名

  • 实例:
    ${__RandomString(10,qwertyuiopasdfghjklzxcvbnm1234567890,name)}:在字符串qwertyuiopasdfghjklzxcvbnm中随机获取6位随机字符串

__time

  • 作用:返回当前时间,可指定返回格式。

    年:yyyy
    月:MM
    日:dd
    时:hh
    分:mm
    秒:ss

  • 参数:
    Format string for SimpleDateFormat (optional):非必填,返回格式
    Name of variable in which to store the result (optional):非必填,储存结果的变量名

  • 实例:
    ${__time(,)}:获取13位时间戳,比如1648524937215
    ${__time(yyyy-MM-dd hh:mm:ss,)}:获取当前时间并生成指定格式yyyy-MM-dd hh:mm:ss

__javaScript

  • 作用:返回JavaScript脚本执行结果,还可以直接调用jmeter的内置函数。

  • 参数:
    JavaScript expression to evaluate:必填,js表达式
    Name of variable in which to store the result (optional):非必填,储存结果的变量名

  • 示例:
    ${__javaScript(“sdjfsjfk89898”.substring(8,13),):截取字符串中索引位8~13位的值,逗号前要加转义符‘\’。

__substring

  • 作用:从字符串中获取指定范围的子串

  • 参数:
    String to get part of:必填,需要获取子串的字符串
    Begin index (first is 0):必填,开始索引,从0开始
    End index:必填,结束索引,不包括
    Name of variable in which to store the result (optional):非必填,储存结果的变量名

  • 示例:
    ${__substring(afsdkjfs78564654,3,9,):截afsdkjfs78564654的第4个到第9个之间的字符串

__split

  • 作用:根据分隔符分割字符串

  • 参数:
    String to split:必填,需要分隔的字符串
    variable Name:非必填,储存结果的变量名
    String to split on. Default is , (comma).:非必填,分隔符,默认为英文逗号

  • 示例:
    ${__split(asd4|556654,var,|)}:以|分隔asd4|556654字符串,并保存至变量var

__chooseRandom

  • 作用:从指定的范围里面取值

  • 参数:
    Any number of values to choose from:必填,指定多个字符串,字符串数量必须>=2,多个字符串之间用英文逗号分隔
    Last value must be variable name where choice will be stored:必填,储存结果的变量名

  • 示例:
    ${__chooseRandom(true,false,var)}:随机生成true或false,并赋值给var

__if

  • 作用:判断给定条件是否成立

  • 参数:
    Actual value:非必填,实际值
    Expected value:非必填,期望值
    Result if actual == expected:非必填,如果相等则返回的值
    Result if actual != expected:非必填,如果不相等则返回的值
    Name of variable in which to store the result (optional):非必填,引用变量名

  • 示例:
    ${__if(0,1,success,fail,msg)}

标签:__,常用,变量名,函数,必填,variable,字符串,Jmeter,optional
来源: https://www.cnblogs.com/weilaiqinkong/p/16318103.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有