1. 关于User defined variable 在不同thread group之间的共享问题
无法在各个thread group之间共享变量。确切的说,user defined variable 在一个thread group更新之后,更新的数据无法在其他的thread group中获取,其他thread group获取的值仍然是定义时的原始值,就像是java中的值传递一样,变量把值传入函数后,即使在函数中更改了这个值,也不会影响原先传入函数值的变量的值。
solution: 通过Property在不同thread group之间共享。example in BeanShell,props.put("key","value");
2. 关于Jmeter运行时无故停止(hang)的问题
如果Jmeter在运行的时候莫名其妙的停在那里不继续执行,有可能是Jmeter的资源耗尽导致测试无法继续执行,这个时候可以在启动Jmeter的时候设置JVM参数,增大虚拟机内存空间,或许可以解决这个问题。
3. 在Jmeter运行时动态获取设置的number of thread 数值
有的时候需要在运行的时候动态的获取number of thread,并根据总的线程数采取相应的动作。这个时候可以在Test plan level定义一个变量,并将此变量放在number of thread值处,这样就可以使用vars.get("numberOfThread")或者${numberOfThread}动态的获取所设置的总线程数。