JMeter - HTTP-запрос не видит переменную, определенную в BS PreProcessor

Определив HTTPRequest с BeanShellPreProcessor с помощью следующего кода:

log.info(vars.get("view_state"));
props.put("view_state", vars.get("view_state"));

Следующее с конфигурацией HTTP-запроса, который является: введите описание изображения здесь

введите описание изображения здесь

Тем не менее, последний запрос не распознает этот параметр и показывает это:

...&javax.faces.ViewState=%24%28view_state%29...

Вопрос в том, почему он не распознается как переменная?

1 ответ

Решение

Вы помещаете значения в свойства JMeter и пытаетесь прочитать их из переменных JMeter. Свойства и переменные - это разные звери, к которым нужно обращаться по-разному.

Решения в:

  1. Измени свой props.put заявление к vars.put (другой синтаксис остается прежним).varsэто сокращение от класса JMeter Variables, используя его, вы будете манипулировать переменными JMeter вместо свойств
  2. Оставьте свой скрипт Beanshell без изменений и получите доступ к значению из свойства с помощью функции __P(), например ${__P(view_state)}

Дополнительная информация: Как использовать BeanShell: любимый встроенный компонент JMeter

Другие вопросы по тегам