#jmeter #post-processor
#jmeter #постпроцессор
Вопрос:
Тело ответа из POST содержит следующий javascript:
var now = new Date();
document.location.href="/wwtb/entry.cgi?id=148e2743ad01572d55265c96ae91dc6camp;uid=qastudentamp;fromlogin=1amp;ts=" now.getTime();
Мне нужно извлечь значение ts после его вычисления, чтобы я мог передать его в качестве параметра при следующем ПОЛУЧЕНИИ.
Ответ №1:
Согласно главной странице проекта JMeter:
JMeter не является браузером, он работает на уровне протокола. Что касается веб-сервисов и удаленных служб, JMeter выглядит как браузер (или, скорее, несколько браузеров); однако JMeter не выполняет все действия, поддерживаемые браузерами. В частности, JMeter не выполняет Javascript, найденный на HTML-страницах. Он также не отображает HTML-страницы так, как это делает браузер (можно просмотреть ответ в формате HTML и т.д., Но временные интервалы не включены ни в какие выборки, и одновременно отображается только одна выборка в одном потоке).
Следовательно, вы не сможете извлечь значение «после его вычисления», потому что оно никогда не будет оценено.
Эквивалентом функции Date.getTime() в JMeter является функция__time(), поэтому, если вы разместите следующую конструкцию где-либо в своем плане тестирования:
/wwtb/entry.cgi?id=148e2743ad01572d55265c96ae91dc6camp;uid=qastudentamp;fromlogin=1amp;ts=${__time()}
${__time()}
Бит будет заменен текущей меткой времени во время выполнения:
Ознакомьтесь с вводной статьей Apache JMeter Functions, чтобы ознакомиться с концепцией функций JMeter.