Плагин JMeter WebSocket - Закрыть соединение SignalR - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть веб-сайт, использующий Asp.NET Core SignalR для динамической загрузки данных с сервера.

Я использую JMeter для выполнения функциональных тестов на этой странице.Я использую плагин WebSocket в версии 1.2.1 для тестирования функциональности SignalR.

После этого учебного пособия по блейзометру о том, как использовать JMeter с WebSocketПлагин сэмплера Я всегда получаю сообщение об ошибке при попытке закрыть соединение SignalR.

Моя настройка сэмплера JMeter выглядит следующим образом:

  1. Открытое соединение WebSocket
  2. WebSocketзапрос-ответ Sampler
  3. WebSocket Single Read Sampler
  4. WebSocket Close

Для закрытия соединения я использую сэмплер WebSocket под названием WebSocket Close.Этот сэмплер позволяет предоставить Close status.

Я пытался предоставить разные Close status коды.Но ни один из предоставленных кодов фактически не был подтвержден, и всегда возвращалось сообщение об ошибке:

Код ответа: ошибка WebSocket: неудачное закрытие.

Сообщение ответа: ошибка WebSocket: получено незакрыть рамку, но текстовую рамку с текстом ...

Как правильно закрыть это соединение в JMeter?


Обновить

Я понял, что это зависит от того, сколько пробников я использую.Если я использую сэмплер записи до чтения сэмплера, закрытие, похоже, сработает.Например:

  1. Открытое соединение WebSocket
  2. Пробоотборник WebSocket-запрос
  3. Пробоотборник WebSocket Single Read
  4. Пробоотборник WebSocket Single Write
  5. WebSocket Close

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


Обновление 2

Я перечитал документацию по плагинам, а также проверил примеры файлов JMeter здесь .К сожалению, я не нашел большего образца с несколькими читателями.

1 Ответ

0 голосов
/ 21 декабря 2018

Вероятно, происходит то, что ваш сервер отправил несколько текстовых сообщений, которые ваш тестовый скрипт JMeter не прочитал.Эти сообщения буферизуются, и когда вы закрываете соединение WebSocket, «Close Sampler» сначала читает одно из этих текстовых сообщений и возвращает ошибку.

Существует запрос на изменение для улучшения «Close Sampler» с опциейигнорировать такие сообщения буфера.В настоящее время вы можете достичь того же, комбинируя фильтр текстового фрейма с закрывающим сэмплером;см. пример «Умное закрытие с фильтром sample.jmx» в каталоге samples .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...