连接到WebSocket与playwright

bhmjp9jg  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(194)

我想连接到WS,但它返回错误
这是我的电话测试

test(`connection`, async () => {
  const url = endpoint.webSocketURL;
  const authToken = authorizationValue;
  try {
    const websocket = await connectToWebSocket(url, authToken);
    expect(websocket.readyState,"Verify Trade Streaming connection").toBe(WebSocket.OPEN);
    websocket.onmessage = (event) => {
      const data = event.data;
      console.log('Received message: ', data);
    };

  } catch (error) {
    console.error("WebSocket connection failed: ", error);
  }
});

字符串
这是我的WS类

import { WebSocket } from 'ws';

export const connectToWebSocket = (url: string, authToken: string): Promise<WebSocket> => {
  return new Promise((resolve, reject) => {
    const ws = new WebSocket(url);

    ws.on('open', () => {
      console.log('WebSocket connection established.');
      const authMessage = JSON.stringify({ token: authToken });
      ws.send(authMessage);
      resolve(ws);
    });

    ws.on('message', (data) => {
      console.log('Received message:', data);

    });

    ws.on('error', (error) => {
      console.error('WebSocket error:', error.message);
      reject(error);
    });

    ws.on('close', () => {
      console.log('WebSocket connection closed.');
    });
  });
};


它给了我一个错误WebSocket连接已建立。WebSocket连接失败:参考错误:未定义WebSocket

sbtkgmzw

sbtkgmzw1#

您似乎正在使用“ws”库。但是,您的测试代码正在尝试使用未定义的本机WebSocket对象。
要解决这个问题,您应该从测试文件中的'ws'库导入WebSocket对象,就像您在WebSocket类中所做的那样。

相关问题