pythonwebsocket接口自动化测试_基于websocket接口的jmeter自动化测试实践(2)

jmeter属性

通常我们会使用用户自定义变量,把每个用例共用的东西提取出来。然而,当测试环境多起来时,这些写死在jmx脚本里的变量就不那么好用了。例如,对多个环境测试时,难道要复制多个脚本、单独改变量值?

此时,我们可以使用jmeter属性。因为属性是可以通过命令行传递的,例如:

1-Jtestproperty=202

而在需要使用变量的地方直接用${__P(testproperty,)}使用命令行传递的值。 当然,如果脚本已经大量使用了user defined variable,且可能会有一个默认环境一批默认值,那么,在user defined variable里把变量的值设为${__P(testproperty,30)}携带默认值30即可。

jmeter%E5%B1%9E%E6%80%A7%E7%9A%84%E4%BD%BF%E7%94%A8-2.jpg

循环中的计数器

我们需要循环使用一系列值用于某个用例,且每个值与循环到第几次有关时,可以在循环中使用计数器。

这时需要注意,如果在thread loop里计数器会一直累加,如果希望在每次thread loop中重新清零,要选择reset。

jmeter%E8%AE%A1%E6%95%B0%E5%99%A8-2.jpg

浮点随机数

有时,我们需要构造浮点式的随机数。而jmeter默认的随机数只有整型。此时,可以利用请求中都是字符串,以字符串默认连接组合的方式构造浮点数。

嵌入java值

当我们需要构造一些测试值,但自带的jmeter函数并不支持时,可以考虑能够直接使用原生java代码生成变量的beanshell。

例如,我们需要构造一个日期为前天,自带的__time只能获取到当前日期。而加入一个beanshell PreProcesser就可以加入java代码得到值。

其中,beanshell里生成的变量,可以调用vars.set(key,value)设置到jmeter上下文中。而想使用已经存在的jmeter上下文中的变量时,则可以使用vars.get(key)。需要注意,返回的value是字符串类型。

jmeter%E7%9A%84beanshell_PreProcesser-2.jpg

组合条件判断

做条件判断时,我们很可能会做多个条件组合的判断,而默认的jmeter if controller是不支持的。此时可以这么用:

1${__javaScript(${count}<60 && ${code}=="5001")}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值