У меня есть тестовый проект Java, который я хотел бы импортировать в свой тест JMeter, чтобы я мог вызывать существующие методы в тестовом проекте. Я провел небольшое исследование и узнал, что могу создать банку своего 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 PostProcessor, который получает полезную нагрузку ответа на один из моих запросов, удаляет некоторые поля в полезной нагрузке и создает новую полезную нагрузку, которую я могу отправить как полезную нагрузку запроса для другого запроса. Постпроцессор 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());
User
класс? (или его основные части с помощью метода) - person user7294900   schedule 24.04.2018