Я пишу тесты в среде JMeter.Благодаря использованию Groovy и написанию кода многократного использования мы получили несколько файлов сценариев и один файл, в котором определены константы.И вот мой вопрос, как можно получить доступ к константам, определенным в файле из файлов скриптов?
Почему это важно для меня?В логике тестовых случаев есть точки принятия решений, и некоторые данные помещаются в глобальную переменную Jmeter.props, где ключ является строкой.Я хотел бы хранить эти ключи в постоянном классе, чтобы избежать опечаток в будущем.
Я хотел бы добиться чего-то похожего:
Groovy file 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()
что привело к сообщению об ошибке, в котором компилятор искал свойство Constants для methodName.ScriptWh независимо от класса. В этом случае файлы были в одном пакете.
Вторая попытка была связана с @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 все еще довольно ржавые)