2016-01-18 2 views

ответ

1

Вы можете сделать это следующим образом:

  1. Добавить Beanshell PostProcessor как ребенок запроса
  2. Поместить следующий код в "Сценарий" область постпроцессор в:

    vars.put("responseTime", String.valueOf(prev.getTime())); 
    

Он получит прошедшее время для сэмплера (в миллисекундах) и сохранит его в переменной ${responseTime}. Вы можете добавить метку семплера в качестве префикса или постфикса, чтобы различать время отклика для разных пробоотборников.

prev является сокращением для родителя SampleResult экземпляра.

См. How to Use BeanShell: JMeter's Favorite Built-in Component для получения полной информации о скриптах Beanshell в тестах JMeter.

+0

Благодарим вас за то, что я искал, но, как правило, у меня вопрос: почему вы использовали String.valueOf before (prev.getTime), Нужно ли это? – Kac

+0

Существует 2 метода: 'vars.put (String, String)' - в этом случае обязательная строка в строку обязательна, а 'vars.put (String, Object)' - cast не требуется. См. [JMeterVariables class JavaDoc] (https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html) - 'vars' является сокращением его экземпляра –

+0

Dmitri, tkank. Вы для объяснения, это решение правильное, когда я хочу получить время ответа предыдущего запроса, но теперь мне интересно, как получить время отклика для всего образца, в моем случае для контроллера транзакций, который состоит из трех запросов? – Kac

Смежные вопросы