WebSocket.addEventListener(event, handler)
Set up handler functions for various events on the WebSocket connection. You can define multiple handlers for the same event.
| Parameter | Type | Description |
|---|---|---|
| event | string | The event name to define a handler for. |
| handler | function | The function to call when the event happens. |
| Event name | Description |
|---|---|
| open | Emitted when the connection is established. |
| message | Emitted when a message is received from the server. |
| ping | Emitted when a ping is received from the server. The client will automatically send back a pong. |
| pong | Emitted when a pong is received from the server. |
| close | Emitted when the connection is closed by the client
WebSocket.close() or when the server sends the close event with code status 1000 (normal closure). |
| error | Emitted when an error occurs. |
Example
A k6 script that demonstrates how to add multiple event listeners for the WebSocket message connection event.
import { WebSocket } from 'k6/experimental/websockets';
export default function () {
const ws = new WebSocket('ws://localhost:10000');
ws.binaryType = 'arraybuffer';
ws.onopen = () => {
console.log('connected');
ws.send(Date.now().toString());
};
ws.onmessage = () => {
console.log('onmessage event handler!');
};
// Multiple event handlers on the same event
ws.addEventListener('message', () => {
console.log('addEventListener event handler!');
ws.close();
});
}The preceding example uses a WebSocket echo server, which you can run with the following command:
docker run --detach --rm --name ws-echo-server -p 10000:8080 jmalloc/echo-server

