Menu
Choose a product
Viewing: v0.48.x
Find another version
Scroll for more
Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
Open source
RSS
k6/ws
Note
A module with a better and standard API exists.
The new k6/experimental/websockets API partially implements the WebSockets API living standard.
When possible, we recommend using the new API. It uses a global event loop for consistency with other k6 APIs and better performance.
The ws module provides a WebSocket client implementing the WebSocket protocol.
| Function | Description |
|---|---|
| connect( url, params, callback ) | Create a WebSocket connection, and provides a Socket client to interact with the service. The method blocks the test finalization until the connection is closed. |
| Class/Method | Description |
|---|---|
| Params | Used for setting various WebSocket connection parameters such as headers, cookie jar, compression, etc. |
| Socket | WebSocket client used to interact with a WS connection. |
| Socket.close() | Close the WebSocket connection. |
| Socket.on(event, callback) | Set up an event listener on the connection for any of the following events: - open - binaryMessage - message - ping - pong - close - error. |
| Socket.ping() | Send a ping. |
| Socket.send(data) | Send string data. |
| Socket.sendBinary(data) | Send binary data. |
| Socket.setInterval(callback, interval) | Call a function repeatedly at certain intervals, while the connection is open. |
| Socket.setTimeout(callback, period) | Call a function with a delay, if the connection is open. |
Was this page helpful?
Related resources from Grafana Labs
Additional helpful documentation, links, and articles:
Video

Performance testing and observability in Grafana Cloud
Optimize user experiences with Grafana Cloud. Learn real-time insights, performance testing with k6, and continuous validation with Synthetic Monitoring.
Events

User-centered observability: load testing, real user monitoring, and synthetics
Learn how to use load testing, synthetic monitoring, and real user monitoring (RUM) to understand end users' experience of your apps. Watch on demand.