Получить все сообщения websocket в транспортире - PullRequest
1 голос
/ 03 мая 2020

У меня есть реактивный проект, в котором я общаюсь с веб-сокетом и, основываясь на сообщении, я что-то делаю. Я иногда обновляю интерфейс или просто ничего не делаю.

Когда я пишу тесты e2e, я могу тестировать компоненты в интерфейсе следующим образом:

When(/^I update the list "(\d+)"$/, (listNumber) => {
  const elements = browser.$$('div.list_id')[listNumber];
  browser.call(() => (
    // I make the websocket call based on the listNumber to update the list
  ));
});

Это хорошо работает.

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

Например: рассмотрим следующие сообщения от websocket

{"adding_item":"ListItem 1 with id 123"}
{"adding_item":"ListItem 2 with id 345"}
{"bonus_item":"BonusItem 1 with id 1"}
{"adding_item":"ListItem 3 with id 124"}

Для всех сообщений adding_item, которые я изменяю, но для bonus_item I ничего не меняйте в пользовательском интерфейсе! Как определить, что bonus_item было получено от веб-сокета в тесте e2e?

npm Запущенная команда:
"automation": "node node_modules/webdriverio/bin/wdio --host=localhost --baseUrl=http://localhost:9000 automation/wdio.conf.js"

Несколько вещей:
I не хочу менять логи сервера / websocket c.
я не хочу ничего менять, кроме е2е. То есть я не хочу менять реальное приложение.

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