Javascript 在量角器中获取所有websocket消息
我有一个react项目,在这个项目中,我与一个websocket进行通信,并根据消息做一些事情。我有时会更新UI,或者什么都不做 当我编写e2e测试时,我能够在UI中测试组件,如下所示:Javascript 在量角器中获取所有websocket消息,javascript,node.js,websocket,protractor,webdriver-io,Javascript,Node.js,Websocket,Protractor,Webdriver Io,我有一个react项目,在这个项目中,我与一个websocket进行通信,并根据消息做一些事情。我有时会更新UI,或者什么都不做 当我编写e2e测试时,我能够在UI中测试组件,如下所示: When(/^I update the list "(\d+)"$/, (listNumber) => { const elements = browser.$$('div.list_id')[listNumber]; browser.call(() => ( // I make t
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消息。我有一个自定义的轮询逻辑来跟踪UI中的更改,但在这种情况下我不能使用它
例如:考虑WebStuts
中的以下消息{"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"}
对于所有的添加项目
消息,我会更改UI,但是对于奖金项目
我不会更改UI!在e2e测试中,如何检测已从websocket接收到的奖金项目
我运行的npm命令:“自动化”:“节点节点\模块/webdriverio/bin/wdio--host=localhost--baseUrl=http://localhost:9000 自动化/wdio.conf.js“
几件事:我不想更改服务器/websocket逻辑。
我不想改变任何东西,但e2e的东西。这意味着我不想更改实际的应用程序。要截获WebSocket消息,必须安装devtools(-注意,这只适用于Chrome浏览器)。 安装后,您将能够使用Chrome DevTools协议()截获websocket框架 还要注意,您必须在wdio-conf.js中激活devtools:
export.config = {
// ...
services: ['devtools'],
// ...
};
希望这有帮助
export.config = {
// ...
services: ['devtools'],
// ...
};