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配置元件与前置处理器都能帮助我们进行参数化,但是都有局限性,为了帮助我们能够更好 ...
随机推荐
- python-flask-ssti(模版注入漏洞)
SSTI(Server-Side Template Injection) 服务端模板注入 ,就是服务器模板中拼接了恶意用户输入导致各种漏洞.通过模板,Web应用可以把输入转换成特定的HTML文件或者e ...
- 简单的redis工具类
import java.util.Arrays; import java.util.List;import java.util.Set; import org.apache.commons.lang. ...
- python接口自动化2-发送post请求
发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去 ...
- Mysql优化之索引
前言 这几天抽了个时间将<高性能Mysql>看了一下忽觉索引非常之重要,习之然后总结巩固知识.本文索引使用的是InnoDB存储引擎.因为本文并不是说用索引的好处,所以并不会书写QPS之类的 ...
- 【原创】MVC项目中使用JQuery的upladify图片上传插件相关问题的解决方案
一. 关于Uploadify Uploadify是一个jQuery插件,你可以很容易的为你的网站添加多个文件上传功能.有两个不同的版本(HTML5和Flash)允许你灵活选择为您的网站和回退方法正确实 ...
- 《数据结构与算法图解》 分享 pdf下载
链接:https://pan.baidu.com/s/1gOMlwU5ucHYDVazvVMk2uw提取码:bk5x
- SQL知识点脑图(一张图总结SQL)
sql语言的分类DDL:create drop alter DML:insert delete update DCL:rollback grant revoke commit 概要,主外键,视图,索引 ...
- Excel VBA宏 链接服务器 上传和下载数据
首先说明以下. 第一: 下面的 “ _" 也就是 空格下划线 在VBA中表示换行的意思:& 表示链接连个字符串的操作,注意 & 的前后是否需要空格 第二: 如果链接服务器,服 ...
- CentOS赋予一个普通用户root权限
http://www.linuxidc.com/Linux/2012-07/64530.htm
- Daily Scrum (2015/10/21)
今天可以说是项目正式开始的第一天,由于大家缺乏做团队项目的经验,对TFS的使用都还不太熟悉,所以今天大家的主要工作是熟悉TFS的使用和对代码进行初步的理解.我们预计需要2-3天时间来理解透彻源代码.以 ...