Кодировка ответа Sampler в Jmeter.
Иногда при работе с Jmeter,в ответах на ваши запросы он использует неправильную кодировку.
Дело в том,что можно поставить кодировку контента(то бишь отправляемых значений),а получаемых нет.
Это можно исправить(правда способ костыльный,хотя рабочий)-используем BeanShell Jmeter.
Небольшая справка о переменных Jmeter в BeanShell для тех кто не в курсе:
- log - (Logger) - Можно использовать для записи лога в файл.
- ctx - (JMeterContext) - Доступ к контексту.
- vars - ( JMeterVariables ) - Позволяет читать/записывать значения в переменные Jmeter: vars.get(key); vars.put(key,val); vars.putObject("OBJ1",new Object());
- props - (JMeterProperties - class java.util.Properties) -собственно класс свойств из Java props.get("START.HMS"); props.put("PROP1","1234");
- prev - (SampleResult) - Доступ к предыдущему ответу.
- sampleEvent (SampleEvent) доступ к текущему событию.
с кодом
prev.setDataEncoding("UTF-8");
И все.Был рад помочь.
Спасибо! Помогло )))
ОтветитьУдалитьПривет! Очень необходимо решить данную проблему, добавление BSF скрипта выводит в лог 2013/07/23 09:37:56 ERROR - org.apache.bsf.BSFManager: unsupported language:
ОтветитьУдалить2013/07/23 09:37:56 WARN - jmeter.extractor.BSFPostProcessor: Problem in BSF script org.apache.bsf.BSFException: unsupported language: Есть мысли, как победить?
Разобрался со скриптом, добавил параметр language beanshell, но ответ все равно содержит строки
ОтветитьУдалить"firstName": "ÐлекÑей",
"middleName": "ВаÑильевич",
"lastName": "Кочетов"
Вы точно добавляете beanshell, постпроцессором к нудному запросу,на е отдельным семплером?
ОтветитьУдалитьСергей, привет!
ОтветитьУдалитьВ обзем проблема оказалась косвенно на стороне сервера, он отдавал неверно результаты, тем не менее на стороне клиента есть тоже проблемы - самая загвоздка в том, что если из дерева убрать JSONPostFormatter (сэмплер, который удобно форматирует json) - то все начинает отображаться ок с биншелл постпроцессором, странная логика, но я вроде свыкся, что в результате получаю простыню, а не отформатированные крякозябры.