今天在玩jmeter的时候,发现一个问题:一个关于 jmeter变量是否在引用时候需要加上引号的坑;
众所周知:jmeter引用变量的时候 需要使用${变量名}
但是:大家是否遇到过有时候变量名外需要加上引号情况呢?
这里给大家分享一个坑!!!!!!!!!!
我想给接口写一个重试机制,配合while控制器,如果结果报错就循环发包
重点来了:原先我在写这个js函数的时候 ${status}这里外面并没有加上引号;结果:一直在循环根本停不下来
第二次我给${status}外面加上了引号;结果按预期运行
这时候我在想,为什么前面这个变量一定要使用引号,而后面这个变量不需要加引号,那如果我给后面这个int之间比较大小加上引号呢?
答案显然易见:int加上引号后,仅可以支持个位数比较,二位数以后比如你“${waitTimes}“<“20”,他报错后只会重试1次,具体原因我没有细究,大致猜测应该和编码转化有关系,转成10进制 优先比较第一位的原因
总结一下:jmeter中如果是string类型,在编写js函数时候需要前后都加上引号,如果是int类型前后都不需要加上引号