Open source RSS

WebSocket

Creates a WebSocket instance for connection to a remote host.

The following events can close the connection:

  • remote host close event.
  • WebSocket.close().
  • k6 VU interruption based on test configuration or CLI commands.
ParameterTypeDescription
urlstringThe URL to which to connect (e.g. “ws://localhost:10000”).
protocolsarrayNot yet implemented, reserved for the future use.
paramsobjectParams object containing additional request parameters.

Returns

TypeDescription
WebSocketAn instance of WebSocket object.

Ready-state constants

Compare an instance’s readyState with these constants to check the connection state:

ConstantValueDescription
WebSocket.CONNECTING0The connection is not yet open.
WebSocket.OPEN1The connection is open and ready to communicate.
WebSocket.CLOSING2The connection is closing.
WebSocket.CLOSED3The connection is closed or could not be opened.

The constants are read-only and also available on each instance, for example, ws.OPEN.

Example

A k6 script that initiates a WebSocket connection.

JavaScript
import { WebSocket } from 'k6/websockets';

export default function () {
  const ws = new WebSocket('wss://quickpizza.grafana.com/ws');

  ws.onopen = () => {
    console.log(ws.readyState === WebSocket.OPEN); // true
    console.log(ws.OPEN === WebSocket.OPEN); // true
    ws.close();
  };

  ws.onclose = () => {
    console.log(ws.readyState === WebSocket.CLOSED); // true
  };
}