Jmeter使用笔记之函数
用Jmeter才做了一个项目的测试,就不得不对函数这部分吐槽一下,真是有点弱,难怪大多数人不用这个功能,不过如果用的好也是很方便的,以下慢慢说。
一、BeanShell函数
在测试中遇到了时间戳的加减,查到发现__BeanShell可以做表达式的运算,满心欢喜的用了,结果发现没有结果,再三确认发现不是自己使用的问题,随即
测试了12+12,发现没有问题。最后猜测应该是这个函数是int类型的计算,测试后发现这里的最大值就是int类型的最大值。(心里又默默的吐槽了一番为何
不弄成long类型呢?)
二、javaScript函数
1、由于BeanShell无法满足自己的要求,随机查看发现了__javaScript函数,于是开始使用,函数如下${__javaScript(new Date(2016,0,29).valueOf(),)},设置如下

发现HTTP的请求中原样输出了,为什么呢?
new Date(2016,0,29).valueOf()这个在浏览器的控制台执行时没有任何问题的!这个问题也无从考证。
后来用new Date().valueOf()发现可以,那怎样才能得到指定时间的时间戳呢?
经过不断反复的验证,发现在Jmeter中如果用__javaScript函数取得指定日期的时间戳,只能通过${__javaScript(new Date("Jan 29 2016").valueOf(),)},必须是
字符串初始化才可以,其他的都不行。(这里又再次吐槽了一番,设计了这个函数,为何功能这么弱?)
2、__javaScript函数操作路径

上面的设置是得不到正确路径的为什么呢?如下,"E:\\jmeter"+".dat",这个在浏览器的console执行时没有问题的?
后来把"E:\\jmeter"+".dat"改为"E:\\\\jmeter"+".dat"执行成功,才恍然大悟,从然是执行的JS但是参数的传递还是通过Java来的,所以
才会造成这种现象
三、threadNum函数
测试中难免要用到跟线程相关的参数,这时候可能会想到${__threadNum}这个线程号的函数,但是这个函数也有它的局限性,首先不能工作在配置元件中
比如用户定义变量等等,其次多个线程组这里返回的线程号是一致的,so在设计的时候要考虑清楚
四、P函数
测试中如果遇到多个线程组之间传递变量的情况,可能一种方式就是用属性才操作,那么通过${__P(,)}来读取属性就是一种好的方式
五、setProperty函数
变量之间传递属性,那么必须设置属性,可以通过${__setProperty(,,)}进行设置属性。其实在刚开始的时候知道可以通过这么设置,但是却不知道
这个函数应该运行在哪个组件中后来才了解到了beanshell。
六、time函数
一般HTTP请求中的随机数都是通过时间戳的方式生成的,${__time(,)}这个函数刚好可以生产12位以毫秒为单位的时间戳,如果是10位的话${__time(/1000,)}
可以这样使用
Jmeter使用笔记之函数的更多相关文章
- Matlab学习笔记 figure函数
Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...
- matlab学习笔记 bsxfun函数
matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...
- 【转】Jmeter变量参数化及函数应用
我们在使用Jmeter录制脚本后,经常会对已录制的脚本进行修改,需要把一些参数使用一些变量替代,Jmeter是支持这些功能的,不过是通过函数实现的.下面举一个简单的例子,使用随机数替代一个参数: 打开 ...
- Jmeter变量参数化及函数应用
分类: 测试工具 2006-12-14 10:54 12041人阅读 评论(5) 收藏 举报 javascriptloadrunnerrandom脚本测试多线程 我们在使用Jmeter录制脚本后,经常 ...
- Python:笔记(2)——函数与模块
Python:笔记(2)——函数与模块 Python函数 关于函数 1.我们可以使用Help来查看函数的帮助信息 2.调用函数的时候,如果传入的参数数量或者类型不符合均会报错. 3.函数名其实就是一个 ...
- JMeter参数化设置——通过函数助手
Now you can know everything in the world, but the only way you're findin' out that one is by givin' ...
- jmeter生成时间的函数
在一个接口测试中,需要提交的请求中要带时间,在看完jmeter帮忙文档,正好总结一下 1.需求 在一个http请求中请求数据要带有时间,如下: 2.实现 突然想到jmeter自带的函数助手好像是可以实 ...
- matlab学习笔记13_1 函数返回值
一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://blog.csdn.net/qq_36556 ...
- jmeter 24个常用函数
Jmeter_24个常用函数 JMeter提供了很多函数,如果能够熟练使用,可以为脚本带来很多方便. JMeter函数是一种特殊值,可用于除测试计划外的任何组件. 函数调用的格式如下所示:${__ ...
随机推荐
- Kafka学习之路 (五)Kafka在zookeeper中的存储
一.Kafka在zookeeper中存储结构图 二.分析 2.1 topic注册信息 /brokers/topics/[topic] : 存储某个topic的partitions所有分配信息 [zk: ...
- Nginx HTTPS功能部署实践
本文出处:http://oldboy.blog.51cto.com/2561410/1889346 30.1 文档目的 本文目的提高自己文档的写作能力及排版能力,加强上课所讲的内容得以锻炼也方便自己以 ...
- WorldWind源码剖析系列:网络下载类WebDownload
网络下载类WebDownload封装了对请求的瓦片进行网络下载的相关操作.该类使用了两个委托类型和一个枚举类型. 该类的类图如下. 网络下载类WebDownload各个字段和属性的含义说明如下: st ...
- leetcode-844 Backspace String Compare
Given two strings S and T, return if they are equal when both are typed into empty text editors. # m ...
- 笔记一:CSS选择器
0.前言:无论学什么,前端都是绕不开的一门技术,对于不同的人需求不同,作为一个python开发者不仅需要能读懂基本的html/css以及js代码,还要会使用它的常用的标签,以及了解比较有用的标签,把逻 ...
- 本地模拟服务器CDN(静态HTML,CSS,JS)开发
本地模拟服务器CDN(静态HTML,CSS,JS)开发 所谓本地开发环境就是和线上cdn(a.longencdn.cn)一样的目录结构和功能,提供了一个本地镜像,开发者直接在本地镜像的对应目录中作开发 ...
- 解决IDEA因分配内存而引起的卡顿
解决IDEA分配内存不足引起卡顿的问题 在使用IDEA的过程中,经常会运行一段时间后程序卡顿.一段代码可能要敲很久或者出现死机状态,严重影响代码书写速度.经查阅资料,IDEA的自动分配内存最大只有75 ...
- day05今日学习总结:字符串类型
昨日学习复习: 数据类型: 有序.无序 有序:可以根据索引查找的数据 可变不可变 可变:在值变的情况下,id不变,证明原值是在改变的 不可变:在值变的情况下,id也跟着变,证明不是在改原值. 今日学习 ...
- 使用php分页类实现简单分类
分页类參考地址:http://blog.csdn.net/buyingfei8888/article/details/40260127 just soso. 实现分页主要分为4步: 1 引入分页类 2 ...
- sql查询语句示例
今天没事又专门学习了一下sql查询语句,个人感觉太重要了,于是就找了网上的一个示例自己练了起来,感觉学到了很多,下面跟大家分享一下sql查询语句的示例操作. 首先,我建了5张表,分别如下: (a)学生 ...