Использование JMETER GUI Запрос JDBC с оператором Callable - как мне получитьResultSet / MetaData? - PullRequest
1 голос
/ 01 ноября 2019

Я получил вызов к моей базе данных, работающей как оператор выбора SQL. Но я работаю, чтобы вызвать хранимую процедуру, используя JMeter для дальнейшего тестирования. Я строго работаю над файлами JMX, и в настоящее время JMETER не интегрирован в наш основной проект Java.

Я настроил графический интерфейс JMETER с помощью конфигурации соединения JDBC и запроса JDBC. Я сделал успешный вызов в мою базу данных с помощью моего оператора вызова с моей строкой INPUT и получил строку OUTPUT параметра string.

Строка параметра OUTPUT содержит только информацию о вызове (пользователь, система, успех и т. Д.), Но не содержит значений / данных из таблицы, которые содержатся в ResultSet / MetaData. Но я не могу понять, как получить ResultSet или метаданные, используя запрос JDBC в JMETER.

В Java я знаю, что использую оператор и просто вызываю Statement.getResultSet () и выполняю цикл, пока существует resultSet.next (). Как мне сделать это в JMETER?

Я попытался добавить дополнительный параметр out, но затем мое утверждение отклоняет вызов, потому что есть только один входной параметр. Я пробовал различные утверждения JMeter - но поскольку основной вызов возвращает только параметр out, я не могу получить дополнительные данные.

Query: call XXXXX.readUser(?)

Parameter Values: ${inputJSONString}

Parameter Types: INOUT VARCHAR

Variable Names: ouputJSONString

Result Variable Name: ouputJSONString

Просмотр дерева результатов: Код ответа: 200, Ответное сообщение: ОК, Выходные переменные по позиции: Содержит всю строку параметров JSON out с пользователем, системой и успехом. Возвращает заголовки столбцов таблицы, но без значений.

У меня нет ошибок - звонок выполняется успешно. Я просто не могу понять, как получить доступ к набору результатов из JMETER.

1 Ответ

0 голосов
/ 04 ноября 2019

Не используйте одинаковое ссылочное имя для Variable Names и Result Variable Name, так как последнее будет перезаписано.

Итак

  1. Измените ouputJSONString на ie ouputJSONStringObject
  2. Добавьте JSR223 PostProcessor в качестве дочернего элемента запроса
  3. Вы сможете получить доступ к представлению ResultSet на JMeter как vars.getObject('ouputJSONStringObject') (в основном ArrayList из HashMaps

См. Отладка JDBCСэмплер приводит к статье JMeter для более подробной информации.

К сожалению, вы не можете получить доступ к обычному ResultSet , так как он нигде не выставляется и конвертируется с помощью частной функции

...