JMeter простой BeanShell PreProcessor
Я новичок в функции JMeter BeanShell PreProcessor.
Для теста я пытаюсь напечатать пример URL-адреса. Из учебника у меня есть следующий код:
org.apache.jmeter.samplers.SampleResult;
String currentURL = SampleResult.getUrlAsString();
print(currentURL)
Но я получаю ошибку "Попытка разрешить метод: getUrlAsString() для неопределенной переменной", как сначала определить эту переменную?
2 ответа
Решение
Это означает, что SampleResult не существует.
Вы должны использовать prev согласно этому документу:
Который ссылается на этот Javadoc:
- Помните, что начиная с JMeter 3.1 рекомендуется использовать элементы тестирования JSR223 и язык Groovy для любых сценариев в тестах JMeter. Поэтому подумайте о миграции в Groovy как можно скорее.
Если вы используете PreProcessor, это означает, что у вас нет SampleResult, так как сэмплер еще не был выполнен. Так что вам нужно использовать
sampler
сокращение, которое разрешается в HTTPSamplerProxy, например:sampler.getUrl() as String
Демо-версия:
Дополнительная информация: Apache Groovy - почему и как вы должны его использовать