#jmeter
#jmeter
Вопрос:
Я пытаюсь использовать постпроцессор JSR223 в jmeter 2.11 с некоторым кодом Java, и я продолжаю получать эту ошибку:
org.apache.bsf.BSFManager:Exception:java.lang.ClassNotFoundException:org.apache.bsf.engines.java.JavaEngine
Я проверил файлы jar bsf / bsh, не уверен, что еще мне нужно сделать, чтобы это сработало. Я читал, что рекомендуется использовать groovy, но мне бы очень хотелось, чтобы это работало с java.
Ответ №1:
Согласно самым первым строкам из документации BSF Sampler:
Подробную информацию о поддерживаемых языках см. На веб-сайте Apache Bean Scripting Framework. Возможно, вам потребуется загрузить соответствующие jar для языка; они должны быть помещены в каталог JMeter lib.
И в том же месте:
API BSF был в значительной степени заменен JSR-223, который включен в Java 1.6 и далее. Большинство языков сценариев теперь поддерживают JSR-223; пожалуйста, используйте вместо этого сэмплер JSR223. Пробоотборник BSF должен быть необходим только для поддержки устаревших языков / тестовых сценариев.
Поэтому я бы рекомендовал рассмотреть следующее (в порядке от наихудшей до наилучшей производительности)
- Семплер Beanshell (если ваш Java-код делает что-то «легкое»)
- JSR223 Sampler groovy language — для «тяжелых» операций (опять же, вам понадобится groovy jar в вашем пути к классу JMeter)
- Напишите свою собственную реализацию Java-сэмплера запросов
Как Beanshell, так и Groovy поддерживают синтаксис Java с некоторыми ограничениями, которые можно легко обойти.
Смотрите Сценарий Beanshell против JSR223 против Java JMeter: снижение производительности, которого вы так долго ждали!руководство, которое может помочь вам сделать правильный выбор.