• Jmeter函数助手


     

    标签(空格分隔): Jmeter


    在性能呢测试过程中为了真实的模拟用户,往往我们需要让提交的表单内容每次都发生变化,这个过程加参数化,Jmeter配置原件与前置处理器都能帮助我们进行参数化,单都有局限性,为了帮助我们进行参数化,Jmeter提供了一组函数来帮助我们生成需要的数据,这些函数助手面板来进行编辑,当然函数助手的功能不仅仅是进行参数化,还可以帮我们进行圆形,字符编码,格式转化,获取运行时参数的功能。 函数都是以${__function()}这种形式开始的,其中“__”是英文的半角下横线,function是函数名,其中参数是不同的函数而定

    函数列表

    JMeter总计七大类型的函数类型如下:

    信息类: 用于读取线程、请求名等 输入类: 用于读取文件等 计算类: 用于计数、求和等 脚本类: 用于运行各类脚本,例如groovy、beanshell等等 属性类: 读取或设置jmeter配置 变量类: 用于对变量进行操作 字符串类: 用于字符串处理

    信息类

    主要用于获取一些常用的基本信息或是日志输出控制。 |编号|函数名|描述| |--| |1|__threadnum|函数线程数| |2|__samplerName|说起当前请求的名称| |3|__machineIP|获取本机的IP地址| |4|__machineNmae|获取本机的名称| |5|__time|返回指定格式的时间| |6|__log|日志输出,并返回它的输入字符串| |7|__logn|日志输出,并返回空的字符串|

    ###输入类 |编号|函数名|描述| |--| |1|__StringFromFile|函数线程数| |2|__FileToString|获取当前请求的名称| |3|__CSVRead|读取csv格式文件数据| |4|__XPath|使用xpath读取xml文件中的数据|

    计算类

    主要用于从外部文件读取数据,进行参数化或是说关联 |编号|函数名|描述| |--| |1|__counter|生成一个自增数| |2|__intSum|整数求和| |3|__logSum|长整数求和| |4|__Random|生成随机数| |5|__RandomFromMultipleVars|从一组数据中提取一个数据| |6|__RandomStrgin|生成随机字符串| |7|__UUID|生成随机的唯一的UUID|

    脚本本类

    主要用于调用外部脚本或是解析执行脚本

    |编号|函数名|描述| |--| |1|__groovy|执行groovy脚本| |2|__BeanShell|执行BeanShell脚本| |3|__javaScript|执行javaScript的脚本| |4|__jexl2|执行jexl2表达式| |5|__jexl3|执行jexl3表达式|

    属性类

    用于读取和设置jmeter配置 |编号|函数名|描述| |--| |1|__property|读取属性值| |2|__P|读取属性值(__property)的简写| |3|__setProperty|设置属性值|

    ###变量类 主要用于验证变量表达式引用是否正确 |编号|函数名|描述| |--| |1|__sqlit|拆分字符串| |2|__V|执行变量名表da's达式的返回结果| |3|__eval|执行字符串表达式,并返回结果| |4|__evalVar|执行保存在变量中的表达式,并返回结果|

    字符串类

    用于字符串操作

    |编号|函数名|描述| |--| |1|__regexFunction|使用正则表达式| |2|__escapeOroRegexpChars|用于转义正则表达式中的字符| |3|__char|将一串数字转换成成unciode的字符| |4|__unescape|用于反转义java-escape字符串| |5|__unescapeHtml|解码html-encode字符串| |6|__escapeHtml|使用html coding编码目标字符串| |7|__escapeXml|使用XML codingbiao'ma编码目标字符串| |8|__urldecode|解码urlcode| |9|__urlencode| 编码为urlcode| |10|__TestPlanName|获取当前测试计划|

    ##常用函数的介绍

    __time 函数

    获取系统的当前时间 image_1cs6ok13j1ru1nsg1e2t1ormuep9.png-52.6kB

    函数参数描述
    Format string for SimpleDateFormat (optional)格式 设置时间所采用的格式
    Name of variable in which to store the result (optional)变量名 存储结果的变量名称

    如果省略了格式字符串,time函数会返回当前时间的毫秒级时间戳。 time函数包含以下时间格式

    • YMD = yyyyMMdd。 image_1cs6p31gv4531l2461pe741k511j.png-16.1kB
    • HMS = HHmmss。 image_1cs6p48d31h8corv1c671gaf1mkk20.png-13.8kB
    • YMDHMS = yyyyMMdd-HHmmss。 image_1cs6p259ffc1624j1ccpq1sv016.png-18.2kB
    • 也可以加入字符修改样式 image_1cs6p7spd19lu1lt31bim1rlkftr2d.png-17.3kB
    • 用户可以通过修改JMeter属性来改变默认格式,例如,time.YMD=yyMMdd。

    time毫秒时间戳转秒时间戳 image_1cs6phinrnj31cs91d6k8nabib3a.png-93kB

    __Random 函数

    生成随机数

    函数参数描述
    FThe minimum value allowed for a range of value 随机数取值范围的最小值
    The maximum value allowed for a range of values 取值范围的最大值
    Name of variable in which to store the result (optional) 存储结果的变量名称
    • 在1000-10000之间生成随机数

    image_1cs6pv0thi0fdko692rgfqqs3n.png-91.7kB

    __RandomString

    随机生成字符串

    函数参数描述
    Random string length 随机字符串的长度
    Chars to use for random string generation 用来生成随机字符串的字符
    Name of variable in which to store the result (optional) 存储结果的变量名称

    __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) 存储结果的变量名称

    image_1cs815tao97jpdaut453g12h4p.png-69.1kB

    __threadNum

    返回当前线程的编号

    __log

    记录一条日志,并返回输入的字符串

    函数参数描述
    String to be logged (and returned) 日志信息
    Log level (default INFO) or OUT or ERR 日志等级。OUT会在控制台输出,ERR、INFO、DEBUG在日志文件内输出
    Throwable text (optional) 可抛弃的文本,如果非空,会创建一个可抛弃的文本传递给记录器
    Additional comment (optional) 注释如果存在,注释会在字符串中展示,用于标识日志记录了什么

    image_1cs8329lstjq12vm1jlp1ljcadk16.png-173.2kB

    __jexl3

    函数_jexl可以用于执行通用JEXL表达式,并返回执行结果。

    函数参数描述
    JEXL expression to evaluate 待执行的表达式
    Name of variable in which to store the result (optional) 存储结果的变量名称

    image_1ct9smir2jjbvuh9r1156o3t519.png-49.6kB 如下变量可以通过脚本进行访问。

    log:函数记录器。

    ctx:JMeterContext对象。

    vars:JMeterVariables对象。

    props:JMeter属性对象。

    threadName:字符串包含当前线程名称 (在2.3.2 版本中它被误写为"theadName")。

    sampler:当前的采样器对象(如果存在)。

    sampleResult:前面的采样结果对象(如果存在)。

    OUT - System.out,例如 OUT.println("message")。 是你用vars的例子参考 Sampler 章节的jdbc-request

  • 相关阅读:
    在命令行下运行Matlab
    VMWare无法共享文件夹(Win7宿主机Ubuntu14.04客户机)
    [转] CVonline: Image Databases
    第二天
    第一天
    二宝软件的NABCD分析
    用c++实现环形数组的最大子数组之和
    返回一个二维整数数组中最大子数组的和
    求最大子数组之和
    四则运算
  • 原文地址:https://www.cnblogs.com/summerxye/p/11004481.html
Copyright © 2020-2023  润新知