2016-06-26 2 views
1

Я попытался рассчитать прошедшее время следующим образом. Я добавил код в Beanshell Post Processor примерно так (с любезностью другого потока в StackOverflow).Как рассчитать прошедшее время между двумя пробоотборниками HTTP в JMeter

Для sampler1

long request1 = prev.getTime(); 
    vars.put("sampler1", String.valueOf(request1)); 

И сэмплер 2 я добавил.

long request2 = prev.getTime(); 
vars.put("sampler2", String.valueOf(request2)); 
long request1 = Long.parseLong(vars.get("sampler1")); 
long request2 = Long.parseLong(vars.get("sampler2")); 
long delta = (request1 - request2); // calculate difference 
log.info("Time difference is: " + delta + " ms"); 

И та же дельта захватывается в CSV-файле следующим образом.

FileOutputStream out = new FileOutputStream("delta.csv", true); 
out.write((String.valueOf(delta)).getBytes("UTF-8")); 
out.write(System.getProperty("line.separator").getBytes("UTF-8")); 
out.flush(); 
out.close(); 

Я получаю значения в файле CSV в одной строке.

Но я ищу способ захватить эти значения с помощью переменных выборки и сопоставить их с другими переменными образца, которые я захватываю в другом CSV-файле.

Я ценю, если кто-то может предоставить способ сделать это.

+0

Извините, я дал 4 пробела для добавления кода в свой вопрос, но не знаю, почему он не принят. – Santana

ответ

2

Вместо того, чтобы записывать переменную в другой файл CSV с использованием Beanshell, перейдите в категорию Sampler Variables.

  1. Добавьте следующую строку в конец 2-го постпроцессор:

    vars.put("delta", String.valueOf(delta)); 
    
  2. Добавьте следующую строку в user.properties файлов (живет в папке JMeter в "Bin")

    sample_variables=delta 
    

На следующем перезапуске JMeter вы увидите новую колонку, имеющую "d elta "в файле результатов .jtl.

Другой подход Пример настройки Переменные свойства проходит через него с помощью -j параметра командной строки, как:

jmeter -Jsample_variables=delta,somethingelse -n -t testplan.jmx -l results.jtl 

См Apache JMeter Properties Customization Guide для получения дополнительной информации, настройки и перекрывая эти и другие свойства JMeter.

Для этого вы также можете использовать Flexible File Writer (вам понадобятся образцы переменных).

+0

Спасибо! Отличный совет! Я могу получить все значения, как ожидалось, но если я использую тот же файл results.jtl и загружаю его в прослушиватель PerfMon, я не вижу график, потому что вижу некоторые сбои в файле results.jtl. То же самое можно добавить к другим слушателям. Есть ли способ получить прослушиватель PerfMon в режиме без GUI отдельно, но все равно сохранить файл results.jtl для других слушателей. – Santana

+0

Да, я нашел способ сохранить результаты PerfMon в другом файле, просто указав на новый файл в текстовом поле обзора. благодаря – Santana