我正在JMeter环境中编写测试。利用常规和编写可重用代码的结果,我们将拥有多个脚本文件和一个用于定义常量的文件。这是我的问题,怎么可能从脚本文件访问文件中定义的常量?
为什么对我很重要?测试用例的逻辑中有决策点,并且在Jmeter.props全局变量中放置了一些数据,其中键是字符串。我想将这些键存储在一个常量类中,以免将来出现拼写错误。
我想实现类似的目标:
Groovy文件1
class Constants {
public final static String PREFIX = 'prefix'
}
Groovy文件2
void methodName() {
printlin("===> " + Constants.PREFIX)
}
methodName()
===> prefix
第一次尝试是类似的事情:
Groovy文件1
class Constants {
public final static String PREFIX = "prefix"
}
Groovy文件2
void methodName() {
printlin("===> " + Constants.PREFIX)
}
methodName()
导致错误消息,其中编译器正在寻找methodName.ScriptWhatever类的Constants属性 这种情况下,文件位于同一软件包中。
第二种尝试是处理@Fields,但我无法弄清楚如何将常量的值以仅在单个位置定义常量的方式进行分配。
有趣的是,我像下面这样包含了这些常量之一,并且有效...
void methodName() {
printLn("===> " + Inspector.CLASS_CLASS_IDX)
}
methodName()
如果我没记错的话,在Java中,您可以像这样解决此问题:
public class Constants {
public static final String PREFIX = "prefix";
}
public class AnotherClass {
public void doIt() { System.out.println(Constants.PREFIX); }
}
结果是“前缀” (对不起,我的Java知识还很生锈)