Постпроцессор JMeter, извлекающий JavaScript после оценки из тела ответа - PullRequest
0 голосов
/ 06 марта 2019

Тело ответа из POST содержит следующий javascript:

var now = new Date();
document.location.href="/wwtb/entry.cgi?id=148e2743ad01572d55265c96ae91dc6c&uid=qastudent&fromlogin=1&ts=" + now.getTime();

Мне нужно извлечь значение ts после его оценки, чтобы я мог передать его в качестве параметра в моем следующем GET.

1 Ответ

0 голосов
/ 06 марта 2019

Согласно Главная страница проекта JMeter :

JMeter не является браузером, он работает на уровне протокола. Что касается веб-сервисов и удаленных сервисов, JMeter выглядит как браузер (точнее, несколько браузеров); однако JMeter не выполняет все действия, поддерживаемые браузерами. В частности, JMeter не выполняет Javascript, найденный на страницах HTML . Он также не отображает HTML-страницы так, как это делает браузер (можно просмотреть ответ в виде HTML и т. Д., Но время не включено ни в какие примеры, и одновременно отображается только один образец в одном потоке).

Поэтому вы не сможете извлечь значение «после его оценки», потому что оно никогда не будет оценено.

Эквивалент JMeter Функция Date.getTime () - это __ time () функция , поэтому, если вы поместите следующую конструкцию в любом месте вашего плана тестирования:

/wwtb/entry.cgi?id=148e2743ad01572d55265c96ae91dc6c&uid=qastudent&fromlogin=1&ts=${__time()}

Бит ${__time()} будет заменен текущей меткой времени во время выполнения:

enter image description here

Ознакомьтесь с Apache JMeter Functions - Введение статья для ознакомления с концепцией JMeter Functions.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...