Как записать значения запросов и ответов в Jmeter и сохранить их в файле?

Я использую Jmeter в качестве инструмента Load Test. Я передаю один параметр через запрос и в ответ получаю только один параметр в результате. ответ. Я хочу сохранить запрос и ответ в CSV-файл. Я использую Regular Expression Extractor для захвата ответа и Bean Shell Postprocessor для сохранения его в CSV-файл. Но не в состоянии захватить соответствующий параметр запроса.

Пример: Запрос: http://localhost:8080/myService?input=abcd123455 и Response: pqrst1245/84985== Пока здесь ввод для запроса, я беру его из другого файла CSV. и я хочу захватить как входной параметр и соответствующий ответ и сохранить его в CSV-файле, как ввод, ответ, т.е. abcd123455,pqrst1245/84985==

2 ответа

Попробуйте использовать этот Beanshell... Я не пробовал, но он должен работать.

import org.apache.jmeter.services.FileServer;

if (sampleEvent.getResult() instanceof org.apache.jmeter.protocol.http.sampler.HTTPSampleResult) {

   String request = (sampleEvent.getResult().getSamplerData());
   String response = prev.getResponseDataAsString();

   fos = new FileOutputStream("/home/user/output.csv", true);
   ps = new PrintStream(fos); 

   StringBuilder sb = new StringBuilder();
   sb.append(request).append(",").append(response).append("\n");
   ps.println(sb.toString());

   ps.close();
   fos.close();
}

Самый простой способ - использовать свойство Sample Variables. Учитывая, что у вас есть 2 переменные, т.е. ${request}а также ${response} просто добавьте следующую строку в файл user.properties:

sample_variables=request,response

и перезапустите JMeter, чтобы забрать собственность. После завершения теста вы увидите 2 дополнительных столбца в файле результатов.jtl ${request}а также ${response} значения переменных.

Другой способ временно установить свойство - передать его через аргумент командной строки -J, например

jmeter -Jsample_variables=request,response -n -t test.jmx -l result.jtl

См. Статью Руководства по настройке свойств Apache JMeter для получения дополнительной информации о работе со свойствами JMeter.


Я бы не рекомендовал использовать сценарии, так как при высокой нагрузке у вас могут возникнуть проблемы с одновременной записью нескольких потоков в один и тот же файл, и вам нужно подумать о реализации какой-либо формы блокировки записи

Другие вопросы по тегам