Подробное руководство по решению проблемы искаженного контента на китайском языке, возвращаемого JMeter
Подробное руководство по решению проблемы искаженного контента на китайском языке, возвращаемого JMeter

Предисловие

При использовании Apache JMeter для тестирования производительности вы можете столкнуться с искажением символов при обработке китайских символов. Это не только влияет на правильность результатов испытаний, но и затрудняет понимание протокола испытаний. В этой статье будет подробно описано, как решить проблему искажения контента на китайском языке, возвращаемого JMeter, от настроек файла конфигурации до преобразования кодировки, чтобы помочь инженерам по тестированию беспрепятственно проводить тестирование производительности.

Распространенные китайские искаженные проблемы

существовать JMeter При проведении эксплуатационных испытаний в Распространенных китайские искаженные Проблемы обычно проявляются в следующих аспектах:

  1. Искаженный код параметров запроса на китайском языке. Если отправленный запрос содержит параметры на китайском языке, параметры, полученные сервером, искажаются.
  2. Искаженные китайские символы в данных ответа. Если данные ответа, возвращаемые сервером, содержат китайские символы, JMeter отображает искаженные символы.
  3. CSV Искаженные китайские символы в файлах данных: используйте CSV Когда файл данных используется для параметризованного тестирования, содержание файла на китайском языке присутствует. JMeter выглядит как искаженные символы.

Решение

  1. настраивать JMeter изкодирование

Изменить файл конфигурации JMeter

JMeter Кодировка по умолчанию: ISO-8859-1,Доступно через Исправлять jmeter.properties файл конфигурации, чтобы установить кодировку по умолчанию UTF-8

  • Открыть JMeter в каталоге установки bin папка.
  • Найдите и отредактируйте jmeter.properties документ.
  • Найдите следующий элемент Конфигурация и раскомментируйте его (удалите предыдущий). #)инастраиватьдля UTF-8
Язык кода:bash
копировать
sampleresult.default.encoding=UTF-8
  • сохраните файл и перезапустите JMeter.

Установить кодировку для HTTP-запросов

существоватькаждый HTTP В запросе можно указать кодировку запроса и ответа, задав параметры.

  • Выберите образец HTTP-запроса.
  • существовать "параметр" раздел, добавьте новый параметр Content-Encoding,ценитьнастраиватьдля UTF-8
  • такой же,существовать «данные ответа» часть, убедитесь «Кодирование текста ответа» настраиватьдля UTF-8
  1. Конфигурацияпараметры запросакодирование

При отправке параметров запроса, содержащих китайские иероглифы, необходимо убедиться, что кодировка параметров установлена ​​правильно.

Пример кода

Язык кода:yaml
копировать
Test Plan
└── Thread Group
    └── HTTP Request
        ├── Server Name or IP: example.com
        ├── Path: /api/test
        ├── Parameters:
        │   ├── name: Значение параметра
        └── Content-Encoding: UTF-8
  1. иметь дело сданные ответакодирование

Если данные ответа, возвращаемые сервером, содержат китайские символы, вам необходимо убедиться, что JMeter может правильно декодировать данные.

Используйте постпроцессор

Вы можете использовать постпроцессор BeanShell или постпроцессор JSR223 для обработки кодирования данных ответа.

Пример код (используйте JSR223 постпроцессор)

  1. существовать HTTP Добавить один образец по запросу JSR223 Постпроцессор.
  2. Выберите язык как groovy
  3. добавить Следующий код преобразует кодирование в данные ответа. UTF-8
Язык кода:bash
копировать
prev.setDataEncoding("UTF-8")
  1. иметь дело с CSV-файлом данных кодирования

при использовании CSV При выполнении параметризованного тестирования файлов данных убедитесь, что формат кодирования файла UTF-8,исуществовать JMeter настроен правильно.

Сохраните CSV-файл в кодировке UTF-8.

существоватьредактировать CSV файл, воспользуйтесь поддержкой UTF-8 Редактор закодированного текста (например. Notepad++、Sublime Текст), чтобы сохранить файл.

Настройка конфигурации набора данных CSV

  • добавить CSV Data Set Config элемент.
  • выбирать CSV Путь к файлу.
  • убеждаться “документкодирование” Поленастраиватьдля UTF-8
  1. Конфигурация эмуляция браузера кодирование

существоватьвыполнять определенныетестчас,Строки, которые, возможно, потребуется эмулировать для определенных браузеров.для。проходитьнастраивать HTTP Заголовок может имитировать кодировку запроса, отправленную браузером.

Пример код (используйте HTTP Header Manager)

  • существовать HTTP Добавить один образец по запросу HTTP Header Manager。
  • Добавьте следующую информацию заголовка:
Язык кода:yaml
копировать
Header Name: Content-Type
Header Value: application/x-www-form-urlencoded; charset=UTF-8

Практические примеры

Ниже приводится полное Практические примеры,показывает, каксуществовать JMeter Решите проблему искажения китайских символов в возвращаемом контенте.

Настройка среды

Предположим, у нас есть тестовая среда со следующим интерфейсом:

  • URL: http://example.com/api/test
  • Метод запроса: POST
  • Параметры запроса: имя, значение — китайские иероглифы (например, «тест»).
  • Ответ: формат JSON, включая поля на китайском языке.

Шаги настройки

  1. добавить вгруппа потоков:существоватьтеств планедобавитьгруппа потоков。
  2. добавить в HTTP Запрошенный образец: Запрошено Конфигурацией. URL-адреса, методы и параметры, а также настройки Content-Encoding для UTF-8
  3. добавить в HTTP Header Manager:добавить в Content-Type Информация в шапке, стоимость настройкидля application/x-www-form-urlencoded; charset=UTF-8
  4. добавить в JSR223 Заднее положение дело сустройство:настраиватьданные ответакодированиедля UTF-8

Пример конфигурации JMeter

Язык кода:yaml
копировать
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 Возвращены различные методы решения проблемы искаженного китайского контента. Эти методы не только повышают точность результатов испытаний, но и улучшают читаемость протоколов испытаний.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose