在Jmeter中,是否可以在测试计划开始时创建可重用的对象?
例如,我可以实例化一个Groovy Sql.class对象,然后可以访问该套件其余部分的那个类对象吗?
如果可以的话,我正在寻找一个基本的想法,我会怎么做。
答案 0 :(得分:1)
使用props.put(String name, Object value)
方法如下:
在第一个采样器中:
Sql sql = new Sql();
props.put("sql", sql);
在第二个采样器中:
Sql sql = props.get("sql");
sql.invokeMethod();
JMeter属性是全局的,一旦定义,您将能够在测试计划中的任何位置访问对象值。
有关域的更多和更好的解释,请参阅How to use BeanShell: JMeter's favorite built-in component指南,大多数预定义的变量,如“props”,“ctx”,“vars”等,对于Beanshell和JSR223 /是相同的常规
答案 1 :(得分:0)
为此,您使用安装线程组:
它相当于JUnit中的setUp
答案 2 :(得分:0)
我得到 BeanShellInterpreter错误...在命名空间中找不到类。我的解决方法是将其类型更改为' var'而不是' Sql' (参考https://stackoverflow.com/a/28146406/4386440)。
而不是
Sql sql = props.get("sql");
sql.invokeMethod();
我用过
var sql = props.get("sql");
sql.invokeMethod();