Jmeter Websocket: ожидание всех кадров в ответе - PullRequest
0 голосов
/ 05 марта 2019

Я использую Jmeter WebSocket Sampler.Я успешно подключился к веб-сокету и могу отправить текстовый запрос.Это чат-бот, и я буду проверять его ответ.

Однако, как я заметил в Fiddler, веб-сокет отвечает на текстовый запрос коротким подтверждением перед ответом чат-бота.

например, первый ответ: {"ok": true, "replyto": 1151810327491, "type": "ack"}, где replyto - это идентификатор сообщения.Мне действительно не нужна эта информация.

Только тогда будет отправлен реальный ответ (как я заметил в Fiddler), который я действительно хотел бы прочитать и поставить утверждения.

Iпробовал Websocket Sampler запрос-ответ, Websocket Single Write Sampler (за ним следует Single Read Sampler), и я пробовал общий Websocket Sampler.

TL; DR: ответы websocket приходят в виде «кадров», каждыйс ответом JSON мои сэмплеры закрываются сразу после первого кадра.

1 Ответ

0 голосов
/ 13 марта 2019

Если сервер отправляет фреймы, которые вам не интересны, есть два возможных решения.

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

Если последовательность сообщений не так легко предсказать, вы можете использовать Фильтр кадров, чтобы отбросить для вас сообщения, чтобы они не отображались в (Чтении) Sampler. Например, настройте фильтр текстовых фреймов с условием «начинается с текста» и используйте строку «{» ok »: true,« replyto »:» в качестве значения соответствия, при этом будут отброшены все фреймы, начинающиеся с этой строки. Если это не работает, потому что интересующее вас сообщение начинается с той же строки, вы можете создавать более сложные условия, даже с помощью регулярных выражений.

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