2016-10-17 3 views
0

Я новичок в JMeter. Я ударил несколько «пост» с различными наборами данных. Каждый пост-вызов приводит к уникальному идентификатору в качестве ответа. Я хочу снова передать каждый уникальный идентификатор, чтобы «получить» вызов с интервалом 5 минут. Я извлек уникальный идентификатор с помощью экстрактора регулярных выражений. Проблема в том, что я могу передать последний уникальный идентификатор «get» вместо каждого уникального id. Есть ли способ создать динамическое ключевое слово regex и downstream для дальнейшего использования? enter image description hereНевозможно передать динамический ответ jmeter post call, чтобы получить звонок

ответ

0

Существует множество способов, которыми вы могли бы решить это. Чтобы назвать пару:

  1. Захват каждого из различных идентификаторов ответа POST как уникальных переменных, которые затем могут использоваться в будущих вызовах GET, каждый из которых запрашивает один из уникальных идентификаторов. Пример: ID1, ID2, ID3 и т. Д.
  2. Создайте отдельные группы потоков для каждого из этих сценариев POST/GET. Переменная JMeter будет только локальной для группы потоков, поэтому они будут изолированы друг от друга. Это также обеспечило бы возможность их запуска одновременно, если это было необходимо.
  3. Использование переменной (количество сортировок) для увеличения на каждом POST и добавления ее к общему имени переменной. Пример: ID $ {count}. Вам нужно будет добавить препроцессор Beanshell для увеличения переменной count в каждом пробоотборе запроса HTTP.

int count = Integer.parseInt(vars.get("count")); count = count + 1; vars.put("count", count.toString());

Вы не могли бы итерацию до достижения значения счетчика в While контроллера при выполнении запросов GET, или вы могли бы уменьшать количество. Оба будут выполнять одну и ту же функцию при условии выполнения условия в инструкции While. Кроме того, вы можете использовать контроллер Loop со счетчиком в качестве # итераций и просто иметь еще один счетчик, который увеличивает время цикла.

0

Вероятно, самый простой способ будет использовать увеличивающийся постфикс как:

  1. Добавить __counter() функции в качестве постфикса для "Reference Name", как

    counter postfix

  2. Каждый раз, когда регулярный Вызов Expression Extractor будет вызываться, будет создана новая переменная batchid_N, где N является добавочным числом, созданным функцией __counter()

    Variables originated from counter

  3. Вы сможете получить доступ к этим переменным значения, как ${batchid_1}, ${batchid_2} и т.д., где требуется.Существует также возможность использовать другую функцию JMeter или переменной в качестве значения постфикса с помощью __V() функции, как:

    • ${__V(batchid_${yourVar})} - скомбинировать префикс «batchid_» с ${yourVar} переменной

    • ${__V(batchid_${__counter(,)})} - скомбинировать префикс «batchid_» с функцией __counter()

См How to Use JMeter Functions в для получения дополнительной информации об этом и других функциях JMeter.

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