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:
It supports additional k6 specific features such as:
deflate
)It is implemented using the xk6 system.
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
does not have a default value (in contrast to the spec, which suggests "blob"
as default),
so in order to successfully receive binary messages a binaryType
must be explicitly set either to "arraybuffer"
(for ArrayBuffer
)
or "blob"
(for Blob
).Contributing to this repository is following general k6's contribution guidelines since the long-term goal is to merge this extension into the main k6 repository.
To run the test you can use the make test
target.
To run the linter you can use the make lint
target.
[!IMPORTANT]
By default there is golangci-lint config presented. Since the long-term goal is to merge the module back to the grafana/k6 we use the k6's linter rules. The rule set will be downloaded automatically while the first run of themake lint
or you could do that manually by runningmake linter-config
.