При использовании Apache JMeter для тестирования производительности вы можете столкнуться с искажением символов при обработке китайских символов. Это не только влияет на правильность результатов испытаний, но и затрудняет понимание протокола испытаний. В этой статье будет подробно описано, как решить проблему искажения контента на китайском языке, возвращаемого JMeter, от настроек файла конфигурации до преобразования кодировки, чтобы помочь инженерам по тестированию беспрепятственно проводить тестирование производительности.
существовать JMeter При проведении эксплуатационных испытаний в Распространенных китайские искаженные Проблемы обычно проявляются в следующих аспектах:
Изменить файл конфигурации JMeter
JMeter Кодировка по умолчанию: ISO-8859-1
,Доступно через Исправлять jmeter.properties
файл конфигурации, чтобы установить кодировку по умолчанию UTF-8
。
bin
папка.jmeter.properties
документ.UTF-8
:sampleresult.default.encoding=UTF-8
Установить кодировку для HTTP-запросов
существоватькаждый HTTP В запросе можно указать кодировку запроса и ответа, задав параметры.
Content-Encoding
,ценитьнастраиватьдля UTF-8
。UTF-8
。При отправке параметров запроса, содержащих китайские иероглифы, необходимо убедиться, что кодировка параметров установлена правильно.
Пример кода
Test Plan
└── Thread Group
└── HTTP Request
├── Server Name or IP: example.com
├── Path: /api/test
├── Parameters:
│ ├── name: Значение параметра
└── Content-Encoding: UTF-8
Если данные ответа, возвращаемые сервером, содержат китайские символы, вам необходимо убедиться, что JMeter может правильно декодировать данные.
Используйте постпроцессор
Вы можете использовать постпроцессор BeanShell или постпроцессор JSR223 для обработки кодирования данных ответа.
Пример код (используйте JSR223 постпроцессор)
JSR223
Постпроцессор.groovy
。UTF-8
:prev.setDataEncoding("UTF-8")
при использовании CSV При выполнении параметризованного тестирования файлов данных убедитесь, что формат кодирования файла UTF-8,исуществовать JMeter настроен правильно.
Сохраните CSV-файл в кодировке UTF-8.
существоватьредактировать CSV файл, воспользуйтесь поддержкой UTF-8 Редактор закодированного текста (например. Notepad++、Sublime Текст), чтобы сохранить файл.
Настройка конфигурации набора данных CSV
CSV Data Set Config
элемент.CSV
Путь к файлу.UTF-8
。существоватьвыполнять определенныетестчас,Строки, которые, возможно, потребуется эмулировать для определенных браузеров.для。проходитьнастраивать HTTP Заголовок может имитировать кодировку запроса, отправленную браузером.
Пример код (используйте HTTP Header Manager)
Header Name: Content-Type
Header Value: application/x-www-form-urlencoded; charset=UTF-8
Ниже приводится полное Практические примеры,показывает, каксуществовать JMeter Решите проблему искажения китайских символов в возвращаемом контенте.
Настройка среды
Предположим, у нас есть тестовая среда со следующим интерфейсом:
Шаги настройки
Content-Encoding
для UTF-8
。HTTP Header Manager
:добавить в Content-Type
Информация в шапке, стоимость настройкидля application/x-www-form-urlencoded; charset=UTF-8
。JSR223
Заднее положение дело сустройство:настраиватьданные ответакодированиедля UTF-8
。Пример конфигурации JMeter
Test Plan
└── Thread Group
└── HTTP Request
├── Server Name or IP: example.com
├── Path: /api/test
├── Method: POST
├── Parameters:
│ ├── name: тест
├── Content-Encoding: UTF-8
└── HTTP Header Manager
├── Header Name: Content-Type
└── Header Value: application/x-www-form-urlencoded; charset=UTF-8
└── JSR223 PostProcessor
├── Language: groovy
└── Script: prev.setDataEncoding("UTF-8")
проходить本文из学习,Мы освоили существование JMeter Возвращены различные методы решения проблемы искаженного китайского контента. Эти методы не только повышают точность результатов испытаний, но и улучшают читаемость протоколов испытаний.