zoukankan      html  css  js  c++  java
  • Jmeter系列__常用函数及使用场景

     Jmeter自带30+种函数,每种函数都有自己适用的场景,今天我们来梳理下。

    1、beanshell函数

        它有两个参数,第一个参数是要执行的语句,可以是beanshell语句或者是文件地址,是必选参数;第二个参数是保存结果的变量名称,非必选参数。

    Example:

    ${__BeanShell(123*456)}:返回56088

    ${__BeanShell(source("function.bsh"))}:会执行外部脚本function.bsh,并返回结果

    常见使用场景:页面单元格计算,常见于财务人资系统,等等

    2、__regexFunction:正则表达式函数

     

    函数用于使用任何正则表达式(由用户提供)解析以前的响应(或变量的值)。函数返回带有变量值的模板字符串。 __regexFunction还可以存储起来,以便供后续使用。在第六个参数中,可以指定一个引用名称。在执行该函数之后,可以在稍后使用用户定义值的语法检索相同的值。 例如,如果您输入”refName”作为第六个参数,您将能够使用: ${refName}来引用第2个参数的计算结果,这依赖于函数的解析结果。

    ${refName_g0}来引用函数解析后发现的所有匹配结果。

    ${refName_g1}来引用函数解析后发现的第一个匹配组合。

    ${refName_g#}来引用函数解析后发现的第n个匹配组合。

    ${refName_matchNr}来引用函数总共发现的匹配组合数目。

    常见使用场景:正则提取变量,实现关联,等等

    3、__counter:计数器函数

    1、每次调用计数器函数都会产生一个新值,依据循环次数,每次迭代加1

    2、如果每个虚拟用户的计数器是独立增长的,那么通常被用于记录测试计划运行了多少遍。全局计数器通常被用于记录发送了多少次请求。

    3、计数器使用一个整数值来记录,允许的最大值为2,147,483,647。

    4、该函数也有对应的配置元件:计数器,功能类似。

     常见使用场景:大批量造数据,调试循环次数,等等

    4、__intSum:整数求和函数

    1、函数__intSum可以被用来计算两个或者更多整数值的合。至少需要两个整数,如果指定变量名则名称中必须包含一个非数字字母,否则它会被当成另一个整数值,而被函数用于计算。

    2、当有多个整数时点击添加按钮来增加参数,但是需要注意的是,添加完参数后,点击”生成”的函数默认是把手动添加的函数放在后面,这时需要手动调整变量名的位置,把它放到最后,否则会报错。

    常见使用场景:前端页面求和校验,入参存在求和的场景,等等

    5、__longSum:长整型求和函数

    该函数用来计算两个或更多长整型值的和,使用方法跟上面的__intSum函数一样。

    常见使用场景:前端页面求和校验,入参存在求和的场景,与time函数实现时间推移,等等

    6、__machineName

    函数__machineName返回本机的主机名

    常见使用场景:分布式压测,打印运行主机名,等等

    7、__Random:随机数函数

     

    函数__Random会返回指定最大值和最小值之间的随机数。

    常见使用场景:适用于造数据居多,参数要求整数,等等

    8、_RandomString():随机字符串函数

     

    1、Random string length:随机字符的长度

    2、Chars to use for random string generation:用来生成随机字符串的字符,可以是纯数字,纯字符,字符字母数字组合

    3、Name of variable in which to store the result (optional):随机生成的字符被变量保存

    4、${__RandomString(6,abcdefgh1234566,ranstr)},解释:随机生成一个6位长度的字符串被ranstr保存

    常见使用场景:造数据,等等

    9、__time

    1、函数__time可以通过多种格式返回当前时间。

    2、如果省略了格式字符串,那么函数会以毫秒的形式返回当前时间。其他情况下,当前时间会被转成简单日期格式。包含如下形式:

    YMD = yyyyMMdd。

    HMS = HHmmss。

    YMDHMS = yyyyMMdd-HHmmss。

    USER1 = JMeter属性time.USER1。

    USER2 = JMeter属性time.USER2。

    用户可以通过修改JMeter属性文件来改变默认格式,或者自定义格式,例如修改YMD格式: time.YMD=yyMMdd。

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

    关于时间戳的格式,可以自由组合定义,可以写成这样

    ${__time(YMD)}

    ${__time(HMS)}

    ${__time(YMDHMS)}

    ${__time(yyMMdd)}

    ${__time(yyyy-MM-dd)}

    ${__time(yyyy-MM-dd HH:mm:ss)}

    生成的函数是这样的:${__time(yyyy-MM-dd HH:mm:ss,)}

     常见使用场景:入参要求时间格式,造数据,实现脚本灵活性,等等

    10、_matchNr

    用于统计前一个接口返回值的总数。可以给后续的控制器提供可控的循环次数

     常见使用场景:debug调试,获取循环次数,等等

    11、__StringFromFile 读取数据函数

     常见使用场景:参数化,等等

    假设我们要读取三行数据,那么可以把循环次数设置为3,函数将依次读取这三行数据

    纸上得来终觉浅,绝知此事要躬行
  • 相关阅读:
    [LeetCode]Surrounded Regions
    生产者消费者问题
    多线程试题汇总
    Linux多线程编程
    运算符优先级表
    正向代理和反向代理
    遗传算法
    嵌入式培训学习历程第十五天
    嵌入式培训学习历程第十四天
    一个猜数的游戏
  • 原文地址:https://www.cnblogs.com/testing2018/p/14442448.html
Copyright © 2011-2022 走看看