This extension adds a PoC Websockets API implementation to k6.
This is meant to try to implement the specification as close as possible without doing stuff that don't make sense in k6 like:
- not reporting errors
- not allowing some ports and other security workarounds
- supporting Blob as message
It supports additional k6 specific features such as:
- Custom metrics tags
- Cookie jar
- Headers customization
- Support for ping/pong which isn't part of the specification
- Compression Support (The only supported algorithm currently is
deflate
)
It is implemented using the xk6 system.
- Golang 1.17+
- Git
- xk6 (
go install go.k6.io/xk6/cmd/xk6@latest
)
- Build the k6's binary:
$ make build
- Run an example:
$ ./k6 run ./examples/test-api.k6.io.js
- binaryType is "ArrayBuffer" by default instead of "Blob" and will throw an exception if it's tried to be changed as "Blob" is not supported by k6.