zoukankan      html  css  js  c++  java
  • jmeter 系统函数整理

    大家都知道在Jmeter使用中,不是每个功能都需要自己去吭哧吭哧写beanshell代码的,在使用Jmeter时,此工具为大家已经封装好了很多好用的系统级函数,可以直接调用来实现你想要的功能。本篇将整理下在Jmeter中常用的系统函数使用,以方便于日常使用时查找。

    1.${__counter(,)}:计数器函数,每次调用值+1,从1开始

        第一个参数:

            True:如果希望每个虚拟用户计数器保持独立,与其他用户计数器相区别;

            False:全局计数器

        第二个参数:存储结果的变量名称。引用方式:${变量名}

    2.${__CSVRead(,)}:csv文件读取函数,是从外部读取参数,__csvRead函数可以从一个csv文件中读取多个参数。

        CSV file to get values from | *alias :要读取文件的路径

        CSV文件列号| next| *alias :要从第几列开始读取,第一列为0

        示例:

        ${__CSVRead(d:\test.csv,0)} --从test.csv中取第1列的值

        ${__CSVRead(d:\test.csv,${__Random(1,3,)})} --从test.csv中随机取第2-4列的值

    3.${__intSum(,,)}:整型相加函数

        要添加的第一个整数:第一个整数

        要添加的第二个整数:第二个整数,更多整数用,间隔

        Name of variable in which to store the result (optional):保存到的变量名

        示例:${__intSum(1,2,3,4,param)}    #求1+2+3+4的和 保存到param变量中

    4.${__longSum(,,)}:获得长整型数之和

        First long to add:第1个数

      Second long to add - further longs can be summed by adding further arguments:第2个数,多余其他数用,间隔

    Name of variable in which to store the result (optional):保存的变量名

        示例:${__longSum(1,13,12,par)}    #求1+13+12的和存到par变量中

    5.${__machineName()}:得到当前运行机器名

    6.${__P(,)}:自定义jmeter属性和属性值,或者设置属性默认值

        示例:${__P(remote_hosts,1)}:设置remote_hosts属性的值默认为1,如果没有remote_hosts属性则返回默认值1,如果jmeter中存在此属性,则返回属性的值。修改默认属性值可以修改1的值就行

    7.${__property(,,)}:同${__p(,,)}类似,前者p只设置默认值,后者property是设置默认值后再保存另一个变量中

        参数1:参数名称:

       参数2:Name of variable in which to store the result (optional):保存的变量名

        参数3:默认值

        示例:

        ${__property(param,first,200)}:设置param参数的默认值为200,同时保存到first变量中,其他地方可以用${first}引用

    8.${__setProperty(,,)}:设置jmeter的属性值,全局变量赋值

        参数说明:

        Value of property:属性值

        Return Original Value of property (default false) ?:返回初始值,默认false

        示例:

        ${__setProperty(newresult,${result},)} :把局部变量result设置为全局变量newresult

        提取全局变量值:${__p(newresult)}  等同于${__property(newresult)}

    9.${__RandomFromMultipleVars(,)}:提取随机值,从用户定义的多个值里随机取一个

        参数说明:

        Source Variable(s) (use | as separator):源变量名,多个用 | 间隔

        Target Variable:目标变量,即保存后的变量名

        示例:

        ${__RandomFromMultipleVars(var1|var2|var3,testTarget)}:从变量var1、var2、var3随机获取一个变量的值,存放到Target变量里

        注意:此处的var1 |var2 |var3 是变量名,非变量的值

    10.${__RandomString(,,)}:生成多个随机字符

        参数说明:

        Random string length:随机字符串的长度

        Chars to use for random string generation:生成多个随机字符的源字符串

        Name of variable in which to store the result (optional):保存的变量名

        示例:${__RandomString(3,hello world,param)}

        在hello world字符串中随机生成3位的字符,放到param变量中。

    11.${__samplerName()}:获取请求名

    12.${__Random(,,)}:随机函数

        参数说明:

        参数1:为最小值

        参数2:为最大值

        参数3:为存储的变量名

        示例:${__Random(X,Y,Z)}   获取X到Y之间随机的数值,存放到Z变量中

    13.${__split(,,)}:分离函数

        参数1:为需要分割的变量或者String,

        参数2:为存储的变量名

        参数3:为分割符

        示例:${__split(X,Y,Z)}:X为需要分割的变量或者String,Y为存储的变量名,Z为分割符

    14.${__TestPlanName}:获取测试计划名

    15.${__threadNum}:获取测试计划的线程数

    16.${__time(,)}:时间函数

        常见时间格式示例:

        ${__time(,param1)}  :1450056496991 //无格式化参数,返回当前毫秒时间后赋值给param1变量

        ${__time(yyyyMMdd, param1)}:

    20151214      //返回年月日  后赋值给param1变量

        ${__time(HHmmss, param1)}:   092816        //返回时分秒  后赋值给param1变量

        ${__time(yyyyMMdd-HHmmss, param1)}:20151214-092816 //获取时间  后赋值给param1变量

        ${__time(yyyy-MM-dd HH:mm:ss,)}:   //获取系统当前时间转换为年-月-日 时:分:秒格式

        ${__longSum(${__time},-3600000, param1)}:    //获取一小时前的时间戳后赋值给param1变量

    17.${__urldecode()}:对于测试中返回的中文进行URL解码

        示例:${__urldecode(%E4%BD%A0%E5%A5%BD)}:将给定字符串解码为中文显示

    18.${__urlencode()}:对于测试中提交的中文进行URL转码

        示例:

        ${__urlencode(你好)} :编码后:%E4%BD%A0%E5%A5%BD

    19.${__UUID}:唯一标识码,生成一个随机字符串,用于某些参数需要唯一值的情况

        uuid格式如:8e9464d2-4561-453e-8005-ad0a44507640

    20.${_StringFromFile(,,,)}:从一个文件中读取一个字符串,如果读取或者打开这个文件发生错误时,将返回“ERR”字符串

        参数说明:

        参数1:输入文件的全路径:输入读取文件的绝对路径+文件名

        参数2:Name of variable in which to store the result (optional):存储结果的变量名称

        参数3:Start file sequence number (opt):初始序列号,即读取文件的序列号,第几个文件

        参数4:Final file sequence number (opt):结束序列号,即读取文件的序列号,第几个文件

        示例:

        ${_StringFromFile(d: est.dat,,,)}:读取d盘test.dat文件的内容,循环一次读取一行

        可以读取多个文件,如:

        ${_StringFromFile(d: est#.dat,content,1,2)}:从d盘下读取test开头的第1和第2个dat文件内容存放到content变量中

    21.${__evalVar()}:用来执行保存在变量中的表达式,并返回执行结果

        示例:比如某csv文件中内容:

                user,name,time

                test1,小名,${__time(,)}

        那么在jmeter中读取csv文件中time列,正常读取用${time}肯定会报错,因为字段值有特殊符号,这时候在jmeter中就需要用到此函数,调用如下:

        ${__evalVar(time)},这样就可以读取到time列的值了

        所以此方法一般可用于csv文件中参数值存在引用的时候

    22.${__XPath(,)}:使用xpath方式提取文件内容

        示例:

    ${__XPath(xmlFile,//a[b='ccc'])} :从xmlFile文件中根据表达式//a[b='ccc']提取内容

    23.${__log(,,,)}:写入日志文件

        参数1:String to be logged (and returned):日志信息

        参数2:Log level (default INFO) or OUT or ERR:日志级别

        参数3:Throwable text (optional):异常文本

        参数4:Additional comment (optional):额外备注

    示例:${__log(日志信息,INFO,有异常出现,这是处理异常的日志)}

  • 相关阅读:
    Ext.form.TextField组件
    provider: SQL Network Interfaces, error: 26 Error Locating Server/Instance Specified解决办法
    SQL Server访问远程数据库和Linked Server
    C#程序实现动态调用DLL的研究
    把DLL文件打包进EXE的技巧
    C#读取媒体信息
    C# 集合类
    Server Application Unavailable 【Failed to execute request because the AppDomain could not be created.】的解决办法
    比较全的字符串验证类
    如何用VS2005制作Web安装程序
  • 原文地址:https://www.cnblogs.com/fcc-123/p/11463472.html
Copyright © 2011-2022 走看看