У меня есть реактивный проект, в котором я общаюсь с веб-сокетом и, основываясь на сообщении, я что-то делаю. Я иногда обновляю интерфейс или просто ничего не делаю.
Когда я пишу тесты 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е. То есть я не хочу менять реальное приложение.