1). Я знаю, как получить доступ к полям java и объекту в beanshell из моего вопроса Использовать поля класса java в beanshell. Тем не менее, это не столь чистый способ реализовать, поскольку мне нужно сначала установить переменную java в beanshell, а затем я могу ее использовать. Тем не менее, в Jmeter он обеспечивает очень чистый способ использования карт в beanshell аналогично тому, как мы это делаем в java, но JMeter разработал его известную библиотеку (класс), которая помогает для доступа к методам get/put для карт. Я хочу достичь аналогичного способа доступа к карте в beanshell.
Я проверил JMeter для получения дополнительной информации, и я хочу знать, что я создал user define переменной temp и присваиваю значение error, теперь в BSF-процессе я просто пишу строку vars.put('Name', 'temp Value'), и он обновил значение для переменной temp. Итак, вопрос в том, что я не создал объектные объекты JMeterVariables, но все же beanshell позволяет обновлять значения на карте, не задавая никаких значений, как упоминание в вашем ответе. Я хочу знать, как это работает, нужна дополнительная информация о глубине.
2). Я создал свой собственный класс в java и в beanshell я импортирую этот класс, но он дает Command not found: BSClass()
ниже полный код
Класс Java
package test;
public class BSClass {
public void BSCMethod(){
System.out.println("I am from BSClass method BSCMethod");
}
}
sample.bsh
import test.BSClass;
c=BSClass();
c.BSCMethod();
print("I am from BeanShell Script");
Вызов класса sample.bsh java class
package test;
import java.io.FileNotFoundException;
import java.io.IOException;
import bsh.*;
public class DynamicVariable {
public static void main(String[] args) throws FileNotFoundException, IOException, EvalError {
new bsh.Interpreter().source("\\src\\test\\sample.bsh");
}
}
Примечание:
- Мне не нужна помощь в JMeter, она должна использоваться в ядре Java и beanshell.
- Все файлы находятся в моем проекте.
- BSClass.class находится в папке bin моего проекта
Буду признателен за ваши материалы