четверг, 3 мая 2012 г.

JMeter JDBC

JDBC Request предназначен для запросов к различным базам данных.
Перед использованием этого запроса необходимо в наш тест-план добавить JDBC Connection Cofiguration (Add -> Config Element -> JDBC Connection Configuration), с него и начнем. Это конфигурационный элемент, который используется для подключения к базе данных.


"Variable Name" - это имя, используемое в JDBC Request для изпользования данного соединения.
Различные базы данных и JDBC-драйверы требуют различных настроек. В документации Apache JMeter описаны возможные параметры подключения. Файл JDBC-драйвера необходимо положить в папку "lib" корневого каталога JMeter.

Если JMeter  выдал "No suitable driver" - это означает, что он либо не нашел JDBC Driver, либо драйвер был найден, но строка подключени содержит ошибку. Если база данных не работает или недоступна, то мы получим "java.net.ConnetcExeption".


После настройки нашего соединения добавляем JDBC Request (Add -> Sampler -> JDBC Request).



В Variable Name запроса указываем имя созданного JDBC Connection Configuration, указываем тип за проса в Query Type и в SQL Query пишем сам запрос.

Parameters Value и Parameters Type - значения и типы переменных, которые необходимо использовать, если запрос вызывается с параметрами. И значения, и типы указываются списком через запятую.

В поле Variables Name мы через запятую вводим список имен переменных, которые будет использовать для  сохранения значений, которые вернул на запрос SELECT. Сохраняются эти значения следующим образом:
Допустим, наш запрос возвращает две колонки и три строки. В Vrariable Names мы вписываем "A, B". В результате выполнения запроса у нас будет созданы несколько перменных: A_# и B_# вернут количество строк (т. е. значение  3), A_1, A_2, A_3, B_1, B_2  и B_3 вернут значения соответствующих ячеек.
Если указан параметр Result  Variable Name, то будет создан объект, содержащий спискок мапов. Каждый мап содержит в себе имя колонки как ключ и данные колонки как значение. Для обращения к полученному объекту используем метод getObject:
columnValue = vars.getObject("resultObject").get(0).get("Column Name"); 

Комментариев нет:

Отправить комментарий