08、jmeter函数助手详解

10 篇文章 1 订阅
订阅专栏

在性能测试过程中,为了模拟真实的用户,往往我们需要让提交的表单内容每次都发生变化,这个过程叫做参数化。JMeter中的配置元件与前置处理器都能帮助我们实现参数化,为了能够更好的帮助我们进行参数化,JMeter提供了一组函数来帮助我们生成需要的数据,这些函数在函数助手面板进行选择和编辑。当然函数助手的功能不仅仅是进行参数化,还可以帮我们进行字符编码,格式转化,获取运行时参数等功能。

 

1、函数助手中的函数分类

JMeter中大概分为七个类型的函数:

(1)信息类

主要用于获取一些常用的基本信息或是日志输出控制。

1、__threadnum函数:只是简单地返回当前线程的编号。

2、__samplerName函数:获取当前请求的名称。

3、__machineIP函数:获取本机的IP地址。

4、__machineNmae函数:返回本机的主机名。

5、__time函数:可以通过多种格式返回当前时间。

6、__log函数:会记录一条日志,并返回函数的输入字符串。

7、__logn函数:会记录一条日志,并返回空字符串。

8、__TestPlanName函数:获取当前测试计划。

(2)输入类

主要用于从外部文件读取数据,进行参数化。即:用于读取文件。

1、__StringFromFile函数:可以被用来从文本文件中读取字符串,这对需要大量可变数据的测试很有用。

2、__FileToString函数:可以被用来读取整个文件。每次对该函数的调用,都会读取整个文件。

3、__CSVRead函数:会从CSV文件读取一个字符串(请注意与StringFromFile 的区别)。

4、__XPath函数:读取XML文件,并在文件中寻找与指定XPath相匹配的地方。每调用函数一次,就会返回下一个匹配项。到达文件末尾后,会从头开始。

(3)计算类

用于计数、求和等操作。

1、__counter函数:每次调用计数器函数都会产生一个新值,从1开始每次加1。

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

3、__longSum函数:可以被用来计算两个或者更多长整型值的合。

4、__Random函数:会返回指定最大值和最小值之间的随机数。

5、__RandomFromMultipleVars函数:从一组数据中提取一个数据。

6、__RandomString函数:生成随机字符串。

7、__UUID函数:生成随机的唯一的UUID。

(4)脚本类

主要用于调用外部脚本或是解析执行脚本,例如:groovy、beanshell等 。

1、__groovy函数:执行groovy脚本。会执行传递给它的脚本,并返回结果。

2、__BeanShell函数:会执行传递给它的脚本,并返回结果。

3、__javaScript函数:可以用来执行JavaScript代码片段(非Java),并返回结果值。

4、__jexl2函数:可以用于执行JEXL2表达式,并返回执行结果。

5、__jexl3函数:可以用于执行JEXL3表达式,并返回执行结果。

(5)属性类

用于读取和设置JMeter的配置。

1、__property函数:会返回一个JMeter属性的值。如果函数找不到属性值,而又没有提供默认值,则它会返回属性的名称。

2、__P函数:是一个简化版的属性函数,目的是使用在命令行中定义的属性。不同于函数__property,本函数没有提供选项用于设置保存属性值的变量。

3、__setProperty函数:用于设置JMeter属性的值。函数的默认返回值是空字符串,因此该函数可以被用在任何地方,只要对函数本身调用是正确的。

(6)变量类

对变量进行操作,主要用于验证变量表达式引用是否正确。

1、__split函数:会通过分隔符来拆分传递给它的字符串,并返回原始的字符串。如果分隔符紧挨在一起,那么函数就会以变量值的形式返回"?"。

2、__V函数:可以用于执行变量名表达式,并返回执行结果。

3、__eval函数:可以用来执行一个字符串表达式,并返回执行结果。如此一来,用户就可以对字符串中的变量和函数引用做出修改。

4、__evalVar函数:可以用来执行保存在变量中的表达式,并返回执行结果。

(7)字符串类

用于对字符串的处理操作。

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

2、__escapeOroRegexpChars函数:将一些Java正则表达式引擎不识别的正则式进行转换,转换过程中使用了ORO正则表达式库,这个库也支持Perl5兼容的正则表达式语法。(Perl是一种高级、通用、直译式、动态的脚本语言,内部集成了正则表达式的功能)

3、__char函数:会将一串数字转换成Unicode字符。

4、__unescape函数:用于反转义Java-escaped字符串。

5、__unescapeHtml函数:用于反转义一个包含HTML实体的字符串,将其变为包含实际Unicode字符的字符串。

6、__escapeHtml函数:用于转义字符串中的字符(使用HTML实体)。即:使用html coding编码目标字符串。

7、__escapeXml函数:使用XML coding编码目标字符串。

8、__urldecode函数:urlcode解码。

9、__urlencode函数:编码为urlcode。

2、常用

(1)__Random函数

__Random函数会返回指定最大值和最小值之间的随机数。参数如下表所示:

函数参数描述是否必需
最小值最小数值
最大值最大数值
变量名重用函数计算值的引用名

 

举例:

 这里的意思是0到10之前的随机整数,并把值赋值给n。这里也可以不传n

 

 我们这里看下响应:

这里aaa的值变为8,同时把值赋值给n,n的值也为8

 

(2)__RandomString函数

主要是用来生成随机字符串,使用格式:

${__RandomString(10,abcde,myResult)},其中

  • 第一个参数10表示希望生成的字符串的长度,必填
  • 第二个参数abcde,表示从这些字符中随机组合,非必填
  • 第三个参数myResult,表示生成的字符串保存在这个变量中,非必填

 我们看下响应:

 

(3)__time函数

这个也是一个常用的

${__time(,)}   //获取当前时间戳 默认13位数 
${__time(/1000,)}  // 获取当前时间戳10位
${__time(yyyy-MM-dd HH:mm:ss)}  //获取当前时间,年月日时分秒格式
${__time(yyyy-MM-dd HH:mm:ss,times)} // times代表后面进行再次调用的参数名称
${__time(yyyy-MM-dd,times)}  //获取当前时间,年月日
${__time(yyyy-MM,times)}   //获取当前时间,年月
${__time(yyyy,times)}  //获取当前时间,年
${__time(MM,times)}   //获取当前时间,月
${__time(dd,times)}   //获取当前时间,日
${__time(yyyy,nowYear)}  //获取当前本年
${__time(M,nowMonth)}    //获取当前本月
${__time(d,nowDate)}     //获取当前本日
${__time(H,nowHour)}     //获取当前小时
${__time(m,nowMinute)}   //获取当前分钟
${__time(s,nowSecond)}   //获取当前秒

比如我们现在要获取当前时间10位的时间戳:${__time(/1000,)} (此处逗号可以省略)

 

 

jmeter学习之路---23---函数助手(Random,RandomDate,RandomString)
spring_cloudy的博客
09-28 471
上节课记录的是断言,主要是JSON断言和响应断言。现在这节记录一下函数助手功能。 也可以通过在tool工具栏上选择函数助手对话框打开 比如设置随机数的方法,在选项框中选择Random,然后设置随机数的范围(左右都能取到),点击生成就能查看到生成的随机数。 在拷贝并粘贴函数字符串中的表达式,可用于在自定义变量或者其他位置需要使用随机数。比如我在天气请求中使用。先在自定义变量中使用该函数 在请求中调用该字段 擦好看结果发现这个字段使用到了 以上只是使用函数助手生成的一个函数罢了,他还能生成很多其他的
JMeter元件系列(七)---jmeter函数助手带图详解
不学习,永远发现不了自己的潜力
09-07 1052
1.BeanShell 作用:运行BeanShell脚本 页面展示: 2.changeCase 作用:修改字符串大小写 UPPER:全字符串大写 LOWER:全字符串小写 CAPITALIZE:首字母大写 页面展示: 3.char 作用:把一组数字转化成Unicode字符 单个数字: 多个数字用英文逗号隔开,但是5.3版本会转义,如下: 使用的时候粘贴出来,把斜杠去掉即可。 4. counter 作用:计数器 页面展示: 5. CSVRead 作用:读取csv文件
python基础库-random模块string模块
最新发布
XiYang的博客
03-26 184
random 模块提供了生成随机数的函数。这些函数可以用于各种情况,如生成随机整数、随机浮点数、随机选择元素等。
Jmeter的RandomString函数
weixin_40572778的博客
04-17 1014
JMeter的RandomString函数
接口测试参数化详解(Jmeter)
weixin_30415801的博客
07-16 1419
简介接口测试是目前最主流的自动化测试手段,它组合不同的参数向服务器发送请求,接受和解析响应结果,通过测试数据的交换逻辑来验证服务端程序工作的正确性。我们在测试过程中需要考虑不同的输入组合,来覆盖不同的测试范围;除此之外,系统中往往存在一些有唯一性校验的接口,不允许重复录入关键字段(eg: 用户名,身份证…),针对这些有唯一性校验的接口,需要在每次运行时动态输入不同的数据。为了解决上述问题,Jmet...
JMeter】threadNum:将接口查询结果列表按顺序赋值给各线程
jj2772367224的博客
06-15 267
使用JMeter做性能测试会遇到这么一个场景:后面的请求需要根据前面的查询列表结果通过正则表达式提取器取值后赋值,而后面用户的赋值必须是唯一的,此时该如何做?只需要把前面的结果保存到一个数组变量中,后面的用户(即线程组中的单个线程)逐一从该数组变量中取值即可。8、最后我们再来运行下,看看取值结果(如下),即完美解决了将接口查询结果列表按顺序赋值给各用户,保证各用户赋值唯一的问题。6、最后添加一监听器【查询结果树】,运行后(如下)我们看到三个用户(线程)的取值一样。1、假如我们前一请求的查询列表结果如下。
ApachJMeter_core-jmeter函数助手可复制.zip
10-14
函数助手生成的函数置灰无法复制修改源码替换文件重启jmeter即可
Jmeter 二次开发 函数助手 AES加解密
08-15
基于Java 二次开发 Jmeter. 1、读取本地图片,转成base64 2、AES CBC和ECB加密和解密 3、集成到Jmeter函数助手
JMETER 函数详细讲解
04-24
JMETER 函数详细讲解 参数化的过程中间已经提到过函数JMETER 通过工具菜单栏中间的选项函数助手对话框管理函数,与LoadRunner相比JMETER函数数量要少很多。 运行--->选项-->函数助手对话框
jmeter插件助手 jmeter-plugins-manager
10-26
jmeter插件助手 jmeter-plugins-manager
jmeter之接口测试实现参数化(利用函数助手),参数值为1-9(自增的数字)
01-25
jmeter之接口测试实现参数化(利用函数助手),参数值为1-9(自增的数字)
Jmeter(119)-函数threadNum妙用
agrapea的博客
07-17 1101
这样,如果需要使用100个用户,只需要加一个beanshell的前置处理器vars.put("user","test"+"${__threadNum}");要执行2个线程3次循环,发现每次循环时,接口中用户参数的数据就会不一样,变成了test1、test2、test3、test4、test5、test6,想到的第一个办法是,使用前置处理器User Parameters,定义参数user,值为test1和test2。如果使用csv也是这个效果,但是实际想要的是test1执行3次,test2执行3次。
JMeter之__threadNum妙用:将接口查询结果列表按顺序赋值给各线程
Free355的博客
07-04 333
JMeter中,有一个特殊的变量可以用于获取当前线程的编号。这个变量非常有用,可以在测试中帮助你实现一些复杂的逻辑。使用JMeter做性能测试会遇到这么一个场景:后面的请求需要根据前面的查询列表结果通过正则表达式提取器取值后赋值,而后面用户的赋值必须是唯一的,此时该如何做?如果按编程思维来说,这个问题并不难。只需要把前面的结果保存到一个数组变量中,后面的用户(即线程组中的单个线程)逐一从该数组变量中取值即可。下面谈谈具体的思路。
Jmeter接口测试不务正业,干起了可变接口、动态参数自动化测试
03-28 307
这个csv文件中,有两个不同的接口,说明是做的业务场景自动化测试,第一个接口,是注册,那么每次注册的账户肯定不能相同,如果相同了,那么第二次肯定失败,所以,就使用了随机函数,让注册的账户自动生成。在做完单个接口之后,我们还会做由多个接口构成的业务测试,这个时候,每个接口地址都不一样,接口请求的方法也可能不一样,最后的校验点,也可能变化,这样的自动化脚本,应该要怎么写呢?靠我一篇文章,就把它全部写出来,这是不现实的,所以,我今天,主要讲一个,被很多同学问到,难倒了一大片好汉的问题。
JMeter随机生成字符串函数
qq_40468470的博客
05-25 854
1、打开函数助手 2、生成函数 3、查看结果
3.5 Jmeter Beanshell PreProcessor生成随机数赋值变量(还是会有重复值)
fen_fen的专栏
07-12 4457
使用Beanshell PreProcessor生成一段随机字符串,可以用来赋值给变量,调用时使用${变量名} import java.util.Random; String random(int s_length) { strings= "ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz"; //int s_length = 10; rstring =""; ...
jenkins 构建 jmeter脚本,动态参数设置、Jenkins读取HTML报告(详细完整流程)
别动我名字
12-21 2230
文章目录1.编写脚本(动态参数)1.1 创建脚本1.2 linux中测试 .jmx脚本 (jmeter.sh 启动)2.编写.sh脚本,方便Jenkins调用2.1. 在 /usr/local/script 目录下创建脚本: run_jmeter.sh2.2.2 linux中测试 .jmx脚本 (run_jmeter.sh 启动)3. Jenkins添加任务,动态构建3.1 创建GitHub项目...
jemter中的random/randomstring函数介绍
weixin_55944621的博客
07-06 268
jemter的random函数
jmeter函数开发实现返回随机字符串
lin的专栏
01-22 4829
实现功能:对给定的用逗号分隔的字符串随机返回其中一个。   代码如下: Java代码   /*   * Licensed to the Apache Software Foundation (ASF) under one or more   * contributor license agreements.  See the NOTICE file dis
jmeter函数助手从0到10
07-27
回答: JMeter函数助手可以帮助测试人员生成从0到10的随机数。可以使用Random函数来实现这个功能。在函数助手的对话框中,选择Random函数,并设置参数为0和10,表示生成的随机数的范围是从0到10。然后点击生成按钮,...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
144
原创
87
点赞
138
收藏
74
粉丝
关注
私信
写文章

热门文章

  • 05、app测试工具汇总 3529
  • 03、app抓取数据、查看运行日志 2551
  • 03、postman前置脚本 2358
  • 07、pytest重复执行用例 1918
  • 02、django基础-app创建、注册 1388

分类专栏

  • django 12篇
  • tester的自我修养 1篇
  • 性能测试 4篇
  • testng 12篇
  • LeetCode 17篇
  • redis 9篇
  • jmeter 10篇
  • pytest 12篇
  • app测试 7篇
  • python 1篇
  • 网络原理 7篇
  • 接口测试 2篇
  • appium 5篇
  • postman 7篇
  • mysql数据库 18篇
  • 测试用例与bug管理 3篇
  • 测试基础理论 3篇
  • java 11篇
  • 抓包工具实用技能 3篇

最新评论

  • 04、主键、外键、索引

    老丝儿!: 这么好的文章竟然没有赞

  • 05、appium---基本操作

    tylk520: get_window_size 获取的屏幕尺寸不一致 怎么解决

  • LeetCode--1.两数之和

    CSDN-Ada助手: 推荐 算法 技能树:https://edu.csdn.net/skill/algorithm?utm_source=AI_act_algorithm

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • django+vue快速入门1
  • 12、testng---并发测试
  • 04、性能测试常见关注点
2023年97篇
2022年47篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

聚圣源渔业公司起名字大全亮相大会的新装备与两栖作战有关金融公司英文起名大全公司起名带泽字的名字属鼠起名男孩春寒料峭的意思蒹葭翻译庭院起名叫什么居好公司起名字大全免费2个字谷氏起名杨姓 孩子起名字pubg起名ie浏览器兼容模式怎么设置在哪里免费起名字的程序鼠孩子起名字小说起名字 生成器汐组成女孩起名复仇者联盟字幕下载属猪张姓宝宝起名大全姓贾的起个名字为集团公司起名国外虚拟主机评测稻川夏目怎样起一个水果店的名字关于春天的成语男宝宝起名大全属马店名吉凶大连疫情新增2人欲望保姆电影完整版看给小孩起名字怎么取淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化