jmeter全局变量-仅执行一次

工作中写jmeter性能脚本,又遇到一个问题:一个接口要写服务器日期,所以要先用获取服务器时间的接口。如果直接写上,就得连带着把获取日期的接口也给压了,不是想要的结果。如果每次都手动改日期,很麻烦。

第一个想到的仅一次控制器,听这名字就是仅执行一次,先看一下:

还是用这个最喜欢用的,想让获取一次城市,然后多次查询这个城市天气预报,线程数和循环次数都给加上

查看结果树,发现这个仅一次控制器控制的是循环次数,线程数没办法控制,两个线程数,执行了两次获取城市。

后来学到了全局变量,jmeter线程也有setUp和tearDown,还有最常用的线程组,执行顺序先setUp,然后线程组,最后tearDown。

这里先获取城市,就可以写setUp里,然后还用正则表达式提取器或者json提取器,取出城市名,再多一步,把城市名设为全局变量。

json提取器,引用名称就用city1,下面加上BeanShell 后置处理程序

 函数助手找到setProperty函数,生成函数。或者直接在后置处理器里按格式写也可以。为了区分,属性名称用了city2,这是下面天气预报接口用的,city1就是刚才json提取器提出来的。全局变量就写好了,下面看使用

用property函数,属性名称用上面那个全局变量的名称,写进参数里,jmeter显示原因,不太清楚,city参数值是“${__property(city2,,)}”

这样就可以分开了,setUp线程数和循环次数都是1,线程组里还是之前的设定:线程数2,循环次数3 .预期让获取城市接口只执行一次,天气预报接口能执行6次,看结果

和预期一致,这是一个只压天气预报接口的性能脚本 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值