У меня есть тестовый проект Java, который я хотел бы импортировать в свой тест JMeter, чтобы можно было вызывать существующие методы в тестовом проекте. Я провел небольшое исследование и узнал, что могу создать JAR-файл своего Java-проекта, скопировать его в папку JMETER_HOME/lib/ext, а затем использовать процессор BeanShell для вызова внешних методов.
Я пытаюсь использовать существующий тестовый проект и вызывать его методы для создания полезных данных JSON.
Я добавил препроцессор BeanShell и сделал что-то вроде:
import com.qa.base.services.user.User;
User user = User.generateSimpleUser();
user.setField("username", "testUsername");
user.setField("password", "testPassword");
vars.put("requestJsonPayload", user.toString());
Похоже, это не работает, и я получаю сообщение об ошибке:
ОШИБКА - jmeter.util.BeanShellInterpreter: Ошибка при вызове метода bsh:
eval Исходный файл: встроенная оценка: ``import
com.qa.base.services.user.User'': Объявление типизированной переменной: Метод
Вызов User.generateSimpleUser()
Как мне добиться того, чего я пытаюсь сделать?
Дополнительная информация:
Я также использую постпроцессор BeanShell, который получает полезные данные ответа на один из моих запросов, удаляет некоторые поля в полезных данных и создает новые полезные данные, которые я могу отправить в качестве полезных данных запроса. еще одна просьба. Постпроцессор BeanShell работает без проблем. Для этого я использовал JSONObject, и мой код выглядит так:
import org.json.JSONObject;
String jsonString = prev.getResponseDataAsString();
print(jsonString);
JSONObject responseJSON = new JSONObject(jsonString);
responseJSON.remove("createTime");
responseJSON.remove("id");
vars.put("updatedJsonPayload",responseJSON.toString());
Подробнее здесь: https://stackoverflow.com/questions/189 ... nd-methods