Jmeter - запрос, сохранить в переменной. Теперь используйте эту переменную при постобработке.

Хотите использовать jmeter для автоматизированного тестирования, но столкнулись с проблемой. Перед тестами я хочу выполнить запрос к своей БД, а затем сохранить результат в текстовом файле.

Я думал, что сделаю это через запрос JDBC как таковой:

(кое-что размыто, но вы поняли идею)

Затем сразу после того, как я хочу выполнить некоторую пост-обработку, которая записывает результат в наш файл:

введите описание изображения здесь

Я тоже пробовал помещать параметр, переданный в vars.get, в кавычки, но мне не повезло. Jmeter записывает файл, но этот файл пуст, и если я запускаю запрос независимо, он возвращает результаты.

Кто-нибудь знает, как добиться этого желаемого поведения?


person PinkElephantsOnParade    schedule 06.07.2015    source источник


Ответы (1)


Если вы заглянете в файл jmeter.log, вы увидите ошибку, связанную с Beanshell.

Это связано с тем, что имя переменной результата является ArrayList, а не String, поэтому

  1. Вам необходимо использовать vars .getObject () вместо vars.get();

  2. Убедитесь, что вы указали имя переменной

  3. Удалить ; в конце SQL-запроса

  4. Вам необходимо выполнить итерацию ArrayList каким-то образом или сериализуйте его в файл.

  5. Если набор результатов большой, лучше подумать о том, чтобы сделать это через JSR223 Sampler с использованием groovy как язык Beanshell имеет некоторые ограничения производительности. См. Beanshell против JSR223 против Java JMeter Scripting: Вы давно ждали отключения производительности!

  6. Чтобы записать вывод в файл, см.:

    Добавление данных в файл с помощью ввода-вывода Apache Commons

Если вы решите использовать Groovy, будет еще проще:

person Dmitri T    schedule 07.07.2015