JMeter простой BeanShell PreProcessor

Я новичок в функции JMeter BeanShell PreProcessor.

Для теста я пытаюсь напечатать пример URL-адреса. Из учебника у меня есть следующий код:

org.apache.jmeter.samplers.SampleResult;

String currentURL = SampleResult.getUrlAsString();
print(currentURL)

Но я получаю ошибку "Попытка разрешить метод: getUrlAsString() для неопределенной переменной", как сначала определить эту переменную?

2 ответа

Решение

Это означает, что SampleResult не существует.

Вы должны использовать prev согласно этому документу:

Который ссылается на этот Javadoc:

  1. Помните, что начиная с JMeter 3.1 рекомендуется использовать элементы тестирования JSR223 и язык Groovy для любых сценариев в тестах JMeter. Поэтому подумайте о миграции в Groovy как можно скорее.
  2. Если вы используете PreProcessor, это означает, что у вас нет SampleResult, так как сэмплер еще не был выполнен. Так что вам нужно использовать sampler сокращение, которое разрешается в HTTPSamplerProxy, например:

    sampler.getUrl() as String
    

Демо-версия:

JMeter Получить текущий URL-адрес сэмплера

Дополнительная информация: Apache Groovy - почему и как вы должны его использовать

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