51Testing软件测试论坛

标题: 关于jmeter的随机函数不能在全局变量中赋值给变量 [打印本页]

作者: suncaijun    时间: 2007-7-20 13:19
标题: 关于jmeter的随机函数不能在全局变量中赋值给变量
为何?

我的目的是要随机取一个值,在本计划的所有线程组中使用,而且要求下次运行取值不可以相同.

所以打算在全局变量中用随机函数,直接就不能运行.你们的jmeter可以运行不?假如不可以,如何能解决我这个需求?

jackei,给你q留言 好像你没上?嘿嘿

[ 本帖最后由 suncaijun 于 2007-7-20 13:20 编辑 ]
作者: jackei    时间: 2007-7-20 14:54
原帖由 suncaijun 于 2007-7-20 13:19 发表
为何?

我的目的是要随机取一个值,在本计划的所有线程组中使用,而且要求下次运行取值不可以相同.

所以打算在全局变量中用随机函数,直接就不能运行.你们的jmeter可以运行不?假如不可以,如何能解决我这个需求 ...


不好意思,平时工作时间不能上Q,您能不能把遇到的问题再描述的清楚一点呢?
作者: suncaijun    时间: 2007-7-20 15:03
1、打开jmeter,单击【测试计划】,右侧有个【用户定义的变量】,在里面我增加变量,【值】直接写一个函数来获取的值赋值给变量,很多函数都可以赋值成功,但是目前试验的是 随机函数random放入【值部分】,在运行测试计划的时候,提示如下:Error occurred compiling the tree,-see log file.

2、我打开日志文件,错误提示如下:2007/07/20 14:56:17 ERROR - jmeter.engine.StandardJMeterEngine: Error occurred compiling the tree: java.lang.NullPointerException


random函数的用法完全正确,在线程组中的用户参数可以赋值或者直接调用

[ 本帖最后由 suncaijun 于 2007-7-20 15:05 编辑 ]
作者: suncaijun    时间: 2007-7-20 16:32
暂时第一步凑合的解决方案是 把random函数的代码改了.有点影响 不过目前我基本够用了

根本原因只能大概定位 不清楚具体.
作者: suncaijun    时间: 2007-7-20 16:59
解决办法:

\src\functions\org\apache\jmeter\functions 下面的Random.java
把vars.put(varName.execute(), randString);这行注释掉了.能解决问题

但是随之会带来一个问题,就是 random的格式是 ${random(一个范围内的最小值,一个范围内允许的最大值,函数名称。用于存储在测试计划中其他的方式使用的值。},代码注释后,就舍弃了函数名称功能.不可以将随机取到的值赋值到函数名称,赋值的话需要手工增加用户参数.

(让同事帮忙解决的,谢谢他了)




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2