Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Как протестировать WS сервер / 25 сообщений из 29, страница 1 из 2
19.06.2020, 10:55
    #39970785
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
Привет!

Подскажите, кто сталикивался, как можно протетировать WS сервер на правильность работы методов.
В чем суть: нужно приложение, которое бы иммитировало подключение нескольких клиентов к серверу и общение между собой.
По факту нужно: подключились два клиента. Первый отправил сообщение, второй получил его и провалидировал его (порядок получения, количество символов и т.п.).

Сейчас запускаю приложение, которое создает два потока для каждого клиента, которые подключаются к серверу. Проблема - в этом приложении правильно перенаправить ответы от сервера на нужный клиент.

Возможно, смотрю не в том направлении, поэтому создал топик!

Спасибо!
...
Рейтинг: 0 / 0
19.06.2020, 11:25
    #39970798
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip,

открой одного клиента в хроме
второго в лисе
третьего edge
и общайся между ними
...
Рейтинг: 0 / 0
19.06.2020, 11:32
    #39970804
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
Приветствую, вадя, мне нужно автоматизировать тесты
...
Рейтинг: 0 / 0
19.06.2020, 11:40
    #39970805
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip
Приветствую, вадя, мне нужно автоматизировать тесты
сочувствую.
в данном случае это потеря времени
...
Рейтинг: 0 / 0
19.06.2020, 12:04
    #39970816
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
вадя, ))) спасибо за сочуствие ))) в смысле, это автоматизировать нереально?
...
Рейтинг: 0 / 0
19.06.2020, 12:19
    #39970824
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip
вадя, ))) спасибо за сочуствие ))) в смысле, это автоматизировать нереально?

почему нереально? было бы желание

В чем суть: нужно приложение
https://www.sql.ru/forum/job
...
Рейтинг: 0 / 0
19.06.2020, 12:22
    #39970825
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
Leonid Kudryavtsev, хотелось бы совета куда рыть...основная проблема - как разделить запросы от сервера к двум-трем клиентам, если клиенты были запущены в потоках из одного приложения.
...
Рейтинг: 0 / 0
19.06.2020, 12:24
    #39970826
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip
Leonid Kudryavtsev, хотелось бы совета куда рыть...основная проблема - как разделить запросы от сервера к двум-трем клиентам, если клиенты были запущены в потоках из одного приложения.

А этот вопрос вообще не понимаю.

Кода, как и принято на данном подфоруме, нифига нет.
...
Рейтинг: 0 / 0
19.06.2020, 12:26
    #39970829
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
Как минимум в примерах в гугле вижу WebsocketClientEndpoint
который, как предполагаю, и разделяет клиентов между собой.

p.s. с WS не работал, могу ошибаться
...
Рейтинг: 0 / 0
19.06.2020, 12:31
    #39970831
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip
Leonid Kudryavtsev, хотелось бы совета куда рыть...основная проблема - как разделить запросы от сервера к двум-трем клиентам, если клиенты были запущены в потоках из одного приложения.

Обычно добавляют ID клиента при запросе. Например ГУИД. Или число 1,2,3 при трех клиентах.
...
Рейтинг: 0 / 0
19.06.2020, 13:04
    #39970857
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip
...если клиенты были запущены в потоках из одного приложения.
это как и зачем?
...
Рейтинг: 0 / 0
19.06.2020, 13:07
    #39970858
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
PetroNotC Sharp,

Обычно добавляют ID клиента при запросе. Например ГУИД. Или число 1,2,3 при трех клиентах

делается соответствие имя-id_сессии_ws
...
Рейтинг: 0 / 0
19.06.2020, 13:19
    #39970862
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
вадя,
У него не было ничего про сессии.
Ты зачем то внес это в топик из своего соседнего.
...
Рейтинг: 0 / 0
19.06.2020, 13:33
    #39970866
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
PetroNotC Sharp
У него не было ничего про сессии.
Ты зачем то внес это в топик из своего соседнего.
так пусть знает
что у ws есть сессия
...
Рейтинг: 0 / 0
19.06.2020, 13:40
    #39970876
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
вадя
qi_ip
...если клиенты были запущены в потоках из одного приложения.
это как и зачем?

Это просто предположение...

Запускается сначала главный поток. Берется "тест", который нужно проверить. Например, клиент1 отправляет сообщение клиенту2.
Из главного потока создаю два дополнительных thread'а и в каждом запускаю клиенты (1 и 2).
Из первого посылается сообщение второму...вот тут загвоздка.

Клиента делаю с помощью того же TooTallNate/Java-WebSocket.
У него есть override метод onMessage, куда придет сообщение от сервера.
Но не совсем еще додумкал, как его перенаправить во второй клиент.

Возможно, я вообще не в том направлении копаю, поэтому хочу узнать, какие есть еще варианты.
...
Рейтинг: 0 / 0
19.06.2020, 13:43
    #39970877
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip,
Сначала делают работающую демку.
А потом уже тесты.
Иди демку делай.
...
Рейтинг: 0 / 0
19.06.2020, 13:51
    #39970885
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip,

явно не туда
есть сервер ws
у него есть "слушатель сети" конечная точка-метод onMessage
его входные параметры - само сообщение и id_данного_подключения

можно ответить напрямую на ото сообщение отправив ответ по id_данного_подключения

а можно отправить ответ на любое подключение
или на несколько
для этого есть метод перебирающий массив id подключений

как правило юзер отправляет сообщение по имени юзера
поэтому надо создать соответствие имя-id_подключения
...
Рейтинг: 0 / 0
19.06.2020, 13:53
    #39970887
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip,

правильно-ли я понял, что вы хотите протестировать простой и прямой кейс: Один клиент послал сообщение, другой клиент это сообщение получил?
...
Рейтинг: 0 / 0
19.06.2020, 13:56
    #39970890
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
Дмитрий Мух
qi_ip,

правильно-ли я понял, что вы хотите протестировать простой и прямой кейс: Один клиент послал сообщение, другой клиент это сообщение получил?

В общих чертах да. Только клиентов будет от 1 до 2-3
...
Рейтинг: 0 / 0
19.06.2020, 13:58
    #39970892
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip
Дмитрий Мух
qi_ip,

правильно-ли я понял, что вы хотите протестировать простой и прямой кейс: Один клиент послал сообщение, другой клиент это сообщение получил?

В общих чертах да. Только клиентов будет от 1 до 2-3

Какие тестовые сценарии из этого следуют?
...
Рейтинг: 0 / 0
19.06.2020, 14:03
    #39970898
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
Дмитрий Мух
qi_ip
пропущено...

В общих чертах да. Только клиентов будет от 1 до 2-3

Какие тестовые сценарии из этого следуют?


Например, регистрация клиента:
1. Клиент отправляет некорректный логин - сервер возвращает ошибку. Тест успешно отработал
2. Клиент отправляет корректный логин - сервер возвращает 200ОК. Тест успешно отработал

С несколькими клиентами:
1. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в правильном порядке. Тест успешно отработал
2. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в неправильном порядке. Тест завалился.
...
Рейтинг: 0 / 0
19.06.2020, 14:06
    #39970899
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip,

У тебя порядок сообщений хоть раз нарушался?
...
Рейтинг: 0 / 0
19.06.2020, 14:08
    #39970900
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip,

Некорректный логин это не ошибка. Это рабочий вариант.
...
Рейтинг: 0 / 0
19.06.2020, 14:11
    #39970901
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
PetroNotC Sharp
qi_ip,

Некорректный логин это не ошибка. Это рабочий вариант.

В конкретном случае, просто проверяется правильность работы проверки по regex
...
Рейтинг: 0 / 0
19.06.2020, 14:20
    #39970906
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как протестировать WS сервер
qi_ip
Дмитрий Мух
пропущено...

Какие тестовые сценарии из этого следуют?


Например, регистрация клиента:
1. Клиент отправляет некорректный логин - сервер возвращает ошибку. Тест успешно отработал
2. Клиент отправляет корректный логин - сервер возвращает 200ОК. Тест успешно отработал

С несколькими клиентами:
1. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в правильном порядке. Тест успешно отработал
2. Клиент1 отправляет 5 сообщений Клиенту2 в заданном порядке. Клиент2 получает сообщения в неправильном порядке. Тест завалился.

ИМХО тут следует выстроить обычную пирамиду тестирования: модульные тесты, интеграционные, функциональные.
И не пытаться ограничиться исключительно последними.

И с чего вдруг порядок сообщений может быть нарушен?
На каком этапе? При передаче от клиента к серверу? При обработке сообщений сервером? При отправке от сервера клиенту?

По мне так всё это отдельно следует тестировать и начать с логики обработки сообщений на сервере.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Как протестировать WS сервер / 25 сообщений из 29, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]