用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使用笔记之函数的更多相关文章

  1. Matlab学习笔记 figure函数

    Matlab学习笔记 figure函数 matlab中的 figure 命令,能够创建一个用来显示图形输出的一个窗口对象.每一个这样的窗口都有一些属性,例如窗口的尺寸.位置,等等.下面一一介绍它们. ...

  2. matlab学习笔记 bsxfun函数

    matlab学习笔记 bsxfun函数 最近总是遇到 bsxfun这个函数,前几次因为无关紧要只是大概看了一下函数体去对比结果,今天再一次遇见了这个函数,想想还是有必要掌握的,遂查了些资料总结如下. ...

  3. 【转】Jmeter变量参数化及函数应用

    我们在使用Jmeter录制脚本后,经常会对已录制的脚本进行修改,需要把一些参数使用一些变量替代,Jmeter是支持这些功能的,不过是通过函数实现的.下面举一个简单的例子,使用随机数替代一个参数: 打开 ...

  4. Jmeter变量参数化及函数应用

    分类: 测试工具 2006-12-14 10:54 12041人阅读 评论(5) 收藏 举报 javascriptloadrunnerrandom脚本测试多线程 我们在使用Jmeter录制脚本后,经常 ...

  5. Python:笔记(2)——函数与模块

    Python:笔记(2)——函数与模块 Python函数 关于函数 1.我们可以使用Help来查看函数的帮助信息 2.调用函数的时候,如果传入的参数数量或者类型不符合均会报错. 3.函数名其实就是一个 ...

  6. JMeter参数化设置——通过函数助手

    Now you can know everything in the world, but the only way you're findin' out that one is by givin' ...

  7. jmeter生成时间的函数

    在一个接口测试中,需要提交的请求中要带时间,在看完jmeter帮忙文档,正好总结一下 1.需求 在一个http请求中请求数据要带有时间,如下: 2.实现 突然想到jmeter自带的函数助手好像是可以实 ...

  8. matlab学习笔记13_1 函数返回值

    一起来学matlab-matlab学习笔记13函数 13_1 函数返回值 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 https://blog.csdn.net/qq_36556 ...

  9. jmeter 24个常用函数

    Jmeter_24个常用函数   JMeter提供了很多函数,如果能够熟练使用,可以为脚本带来很多方便. JMeter函数是一种特殊值,可用于除测试计划外的任何组件. 函数调用的格式如下所示:${__ ...

随机推荐

  1. [luogu3198] 玩具装箱

    题面 ​ 最近在搞dp, 发现自己的dp还是太弱了, 做的题比较少, 也有一些东西没学, 这道题算是我独立做的第一道斜率优化dp, 写篇题解纪念一下吧. ​ dp式比较简单, 就是一个线性的dp, 设 ...

  2. ICSharpCode.SharpZipLib 开源压缩库使用示例

    官方网站:http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx 插件描述: ICSharpCode.SharpZipLib.dl ...

  3. Javascript 及 CSS3 实现进度条效果

    Javascript 及 CSS3 实现进度条效果 一:css2 属性clip实现网页进度条:  在实现之前,我们先来介绍一下clip属性,因为这个属性在css2.1中很少使用到,所以我们有必要来了解 ...

  4. TM1629A驱动程序

    网上看了很多1629驱动程序,很乱,下载了几个整合了一下,下面的程序还没有烧录到开发板里面测试,程序已经做好了,但是这个方案老板不做了,所以只能在这里放着了,留着以后用吧 void TM1629A_W ...

  5. android强制关闭软键盘代码

    InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); imm.t ...

  6. 蓝桥杯历届试题 危险系数(dfs或者并查集求无向图关于两点的割点个数)

    Description 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个 ...

  7. allegro中Autosilk top, Silkscreen top 和Assembly top三个什么区别(转)

    allegro中Autosilk top, Silkscreen top 和Assembly top三个什么区别(转) Autosilk top, Silkscreen top 和Assembly t ...

  8. EZ 2018 04 01 ZJOI2018模拟赛04.01

    现在开始填以前的坑 这次老叶强制我们打一下这次省选题,然后我已经做好了掉Rating到死的准备 然后考完--莫名涨了 Orz 题目链接 由于很多东西我都不会,所以详细请看:dalao的题解 T1 我T ...

  9. mount状态下表空间情报试验

    SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> sta ...

  10. .NET Core 开发之旅 (1. .NET Core R2安装教程及Hello示例)

    前言 前几天.NET Core发布了.NET Core 1.0.1 R2 预览版,之前想着有时间尝试下.NET Core.由于各种原因,就没有初试.刚好,前几天看到.NET Core发布新版本了,决定 ...