1.常用JMeter函数

1)__regexFunction

正则表达式函数可以使用正则表达式(用户提供的)来解析前面的服务器响应(或者是某个变量值)。函数会返回一个有模板的字符串,其中携带有可变的值。

__regexFunction还可以被用来保存值,以便供后续使用。在函数的第6个参数中,测试人员可以指定一个引用名。在函数执行以后,测试人员可以使用用户定义值的语法来获取同样的值。例如,如果测试人员输入"refName"作为第6个参数,那么测试人员可以使用:

${refName}来引用第2个参数(Template for the replacement string)的计算结果,这依赖于函数的解析结果。

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

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

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

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

参数如表11-2所示。

表11-2  参数描述

函数参数

描述

是否必需

第1个参数

第1个参数是用于解析服务器响应数据的正则表达式。

它会找到所有匹配项。如果测试人员希望将表达式

中的某部分应用在模板字符串中,一定记得为其加

上圆括号。例如,<a href="(.*)">。这样就会将链接

的值存放到第一个匹配组合中(这里只有一个匹配组

合)。又如,<input type="hidden" name="(.*)"

value="(.*)">。在这个例子中,链接的name作为第

一个匹配组合,链接的value会作为第二个匹配组合。

这些组合可以用在测试人员的模板字符串中

第2个参数

这是一个模板字符串,函数会动态填写字符串的部分

内容。要在字符串中引用正则表达式捕获的匹配组合,

请使用语法:$[group_number]$。例如$1$或者 $2$。

测试人员的模板可以是任何字符串

第3个参数

第3个参数告诉JMeter使用第几次匹配。测试人

员的正则表达式可能会找到多个匹配项。对此,

测试人员有4种选择:

n          整数,直接告诉JMeter使用第几个匹配项。

n          “1”对应第一个匹配,“2”对应第二个匹配,以此类推

n          RAND,告诉JMeter随机选择一个匹配项

n          ALL,告诉JMeter使用所有匹配项,为每一

n          个匹配项创建一个模板字符串,并将它们连接在一起

n          浮点值0到1之间,根据公式(找到的总匹配

n          数目*指定浮点值)计算使用第几个匹配项,

n          计算值向最近的整数取整

否,默认值为1

第4个参数

如果在上一个参数中选择了“ALL”,那么这第4个

参数会被插入到重复的模板值之间

第5个参数

如果没有找到匹配项返回的默认值

第6个参数

重用函数解析值的引用名,参见上面内容

第7个参数

输入变量名称。如果指定了这一参数,那么该变量

的值就会作为函数的输入,而不再使用前面的

采样结果作为搜索对象

2)__counter

每次调用计数器函数都会产生一个新值,从1开始每次加1。计数器既可以被配置成针对每个虚拟用户是独立的,也可以被配置成所有虚拟用户公用的。如果每个虚拟用户的计数器是独立增长的,那么通常被用于记录测试计划运行了多少遍。全局计数器通常被用于记录发送了多少次请求。

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

目前计数器函数实例是独立实现的(JMeter 2.1.1及其以前版本,使用一个固定的线程变量来跟踪每个用户的计数器,因此多个计数器函数会操作同一个值)。全局计数器(FALSE)每个计数器实例都是独立维护的。

参数如表11-3所示。

表11-3  参数描述

函数参数

描述

是否必需

第1个参数

True,如果测试人员希望每个虚拟用户的计数

器保持独立,与其他用户的计数器相区别。

false,全局计数器

第2个参数

重用计数器函数创建值的引用名。测试人员可

以这样引用计数器的值:${refName}。这样一来,

测试人员就可以创建一个计数器后,在多个地方引

用它的值(JMeter 2.1.1及其以前版本,这个参数是必需的)

3)__threadNum

函数__threadNum只是简单地返回当前线程的编号。线程编号不依赖于线程组,这就意味着从函数的角度看来,某个线程组的线程#1和另一个线程组的线程#1是没有区别的。另外,该函数没有参数。

这一函数不能用在任何配置元件中(如用户定义的变量),原因在于配置元件是由一个独立线程运行的。另外在测试计划(Test Plan)中使用也是没有意义的。

4)__intSum

函数__intSum可以被用来计算两个或者更多整数值的合。

参数如表11-4所示。

表11-4  参数描述

函数参数

描述

是否必需

第1个参数

第1个整数值

第2个参数

第2个整数值

n个参数

n个整数值

最后一个参数

重用函数计算值的引用名。如果用户指定

了这一参数,那么引用名中必须包含一个非

数字字母,否则它会被当成另一个整数值,

而被函数用于计算

jmeter函数的更多相关文章

  1. 【jmeter】JMeter函数学习

    JMeter函数是一些能够转化在测试树中取样器或者其他配置元件的域的特殊值.一个函数的调用就像这样:${_functionName(var1,var2,var3)},-functionName匹配函数 ...

  2. 详解JMeter函数和变量

    JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var3)} 其中,__function ...

  3. 关于使用jmeter函数助手生成随机数的使用方法

    记录自己的生活!   1.使用jmeter函数助手的生成随机数的方法,主要包含以下几个函数:     [_Random]     [_RandomString]   2.关于[_Random]函数的说 ...

  4. JMeter学习(十四)JMeter函数学习(转载)

    转载自 http://www.cnblogs.com/yangxia-test JMeter函数是一些能够转化在测试树中取样器或者其他配置元件的域的特殊值.一个函数的调用就像这样:${_functio ...

  5. 详解JMeter函数和变量(转载)

    详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var ...

  6. jmeter函数助手(_random、_time)

    jmeter函数助手 __random __time yyyyMMddHHmmdd  时间格式(年月日时分秒) 1.打开函数助手对话框,选项->函数助手对话框 2.生成函数字符串 (1)选择功能 ...

  7. 性能测试基础---jmeter函数二次开发

    Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...

  8. 28. Jmeter函数

    Jmeter函数传送门 软件测试汪简书地址 软件测试汪博客地址 欢迎关注微信公众号:软件测试汪.软件测试交流群:809111560 转载请注意出处,谢谢合作

  9. Jmeter(二十三) - 从入门到精通 - JMeter函数 - 上篇(详解教程)

    1.简介 在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化.JMeter配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好 ...

随机推荐

  1. paramiko 简单的使用

    感觉自己操作服务器还要用xshell,麻烦很多,于是呢就去google,找到了paramiko. 使用这个模块还是很简单的, 我们链接服务器,只需要导入 SSHClient,AutoAddPolicy ...

  2. vue使用import来引入组件的注意事项

    Vue使用import ... from ...来导入组件,库,变量等.而from后的来源可以是js,vue,json.这个是在webpack.base.conf.js中设置的: module.exp ...

  3. excel 取前几位文字

    1L.2L的分别用mid函数和left函数都没有问题. 问题是,如果用left函数,必须先确认,字符串中汉字必须排在左边第一个,接下来几个也必须是汉字:mid函数则是根据从左边第某个字符开始,一共取几 ...

  4. SMR解析

    SMR描述 SMR(Shingled Magnetic Recording)叠瓦式磁记录盘是一种采用新型磁存储技术的高容量磁盘.SMR盘将盘片上的数据磁道部分重叠,就像屋顶上的瓦片一样,这种技术被称为 ...

  5. docker usage

    docker ps -a 查看物理机上面所有容器信息列表 docker exec -it $docker_id /bin/bash 进入容器以默认帐号 docker exec -it -u root ...

  6. ExternalAccessory串口通信

    ExternalAccessory 使用文档 项目下载地址 前言 公司希望通过串口通信的方式实现苹果手机与公司产品进行通信,通过Lighting接口,也就是苹果的数据线.苹果的API External ...

  7. 20135313-exp1

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353 姓名:吴子怡 学号:20135313 成绩:            指导教师:娄嘉鹏  实 ...

  8. 关于react虚拟DOM的研究

    1.传统的前端是这样的,我在学校也都是这样做的,html(jsp)主要负责提供所有的DOM节点,而javascript负责动态效果,比如按钮点击,图片轮播等,这样的话javascript如何组织结构是 ...

  9. jsp九大内置对象之一request

    request对象,目的是用来获取客户端的请求. 主要方法有: request.getMethod();                      // 获取提交请求的方式 request.getPr ...

  10. C#窗体——四则运算

    用户需求:程序能接收用户输入的整数答案,并判断对错程序结束时,统计出答对.答错的题目数量.补充说明:0——10的整数是随机生成的用户可以选择四则运算中的一种用户可以结束程序的运行,并显示统计结果.在此 ...