jmeter函数
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函数的更多相关文章
- 【jmeter】JMeter函数学习
JMeter函数是一些能够转化在测试树中取样器或者其他配置元件的域的特殊值.一个函数的调用就像这样:${_functionName(var1,var2,var3)},-functionName匹配函数 ...
- 详解JMeter函数和变量
JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var3)} 其中,__function ...
- 关于使用jmeter函数助手生成随机数的使用方法
记录自己的生活! 1.使用jmeter函数助手的生成随机数的方法,主要包含以下几个函数: [_Random] [_RandomString] 2.关于[_Random]函数的说 ...
- JMeter学习(十四)JMeter函数学习(转载)
转载自 http://www.cnblogs.com/yangxia-test JMeter函数是一些能够转化在测试树中取样器或者其他配置元件的域的特殊值.一个函数的调用就像这样:${_functio ...
- 详解JMeter函数和变量(转载)
详解JMeter函数和变量(1) JMeter函数可以被认为是某种特殊的变量,它们可以被采样器或者其他测试元件所引用.函数调用的语法如下: ${__functionName(var1,var2,var ...
- jmeter函数助手(_random、_time)
jmeter函数助手 __random __time yyyyMMddHHmmdd 时间格式(年月日时分秒) 1.打开函数助手对话框,选项->函数助手对话框 2.生成函数字符串 (1)选择功能 ...
- 性能测试基础---jmeter函数二次开发
Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...
- 28. Jmeter函数
Jmeter函数传送门 软件测试汪简书地址 软件测试汪博客地址 欢迎关注微信公众号:软件测试汪.软件测试交流群:809111560 转载请注意出处,谢谢合作
- Jmeter(二十三) - 从入门到精通 - JMeter函数 - 上篇(详解教程)
1.简介 在性能测试中为了真实模拟用户请求,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化.JMeter配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好 ...
随机推荐
- 使用 Django WebSocket Redis 搭建在线即时通讯工具
话不多说先上效果图演示 项目:http://112.74.164.107:9990/ 1.安装组建 redis: yum install redis/apt install redis 2.创建虚拟化 ...
- 大学生Linux常用命令(一)
大学生Linux常用命令(一) 1.1 命令格式 命令格式一般为---命令名 [选项] [参数1] [参数2]- 例如:cp -I file1 cp为命令名,-l为选项,file1为参数. 其中,命令 ...
- Unity面试技巧之C#基础
1. 定义常量最好使用运行是常量就是readonly 编译常量就是 const public static readonly MyClass myClass = new MyClass(); publ ...
- MapReduce 基础学习
什么是MapReduce? mapreduce 是一种软件框架 mapreduce job将任务分解为独立的块儿到不同的map task,进行并行处理: map任务输出会做相应的排序处理,并作为r ...
- eclipse检出SVN代码的详细流程
1.添加SVN资源库位置(未安装SVN,请先安装SVN) 2.因为该项目不是maven项目 所以还需要加入jar包(将项目lib里面的jar都Buile Path) 3.我这个项目需要修改编码格式 右 ...
- 【坚持】Selenium+Python学习之从读懂代码开始 DAY5
2018/05/22 函数作为返回值 [来源:廖雪峰的官方网站](https://www.liaoxuefeng.com/) #No.1 def lazy_sum(*args): def sum(): ...
- 根据 WBS 列新 PID 数据
之前写过关于 菜单树的. http://www.cnblogs.com/newsea/archive/2012/08/01/2618731.html 现在在写城市树. 结构: CREATE TABLE ...
- reduce()用法
reduce()方法接受一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值 参数 callback 执行数组中的每个值的函数,包含四个参数 previousValue 上一次调用回调 ...
- 渡过OO的死劫,了解规格的意义——OO第三次博客总结
当熬过了一次次黑暗,迎接我们的却是被扣的惨不忍睹的JSF ┭┮﹏┭┮ 一.总结调研 规格的历史 传统科学的特点是发现世界,而软件的特点是构造世界.软件的最底层就是0,1,两个离散的值.程序设计语言的三 ...
- Task 6.4 冲刺Two之站立会议4
今天对主界面部分的代码进行了完善,因为主界面有对于用户账号的设置.包括头像修改.增删好友.进入聊天界面等功能,包含的内容很多.我主要是负责跟聊天界面的连接以及账号设置的部分:遇到的问题有,因为这部分依 ...