Documentation > Administration > Going to Production > WebSocket Compliance Testing

WebSocket Compliance Testing has best-in-class compliance to the WebSocket protocol (RFC6455).

Compliance is testified via the AutobahnTestsuite, the industry standard WebSocket compliance testsuite which includes more than 500 automated test cases. passed all tests - 100% strict. No matter what WebSocket server you use, we encourage you to run the testsuite against it and compare.

Protocol compliance is very important for two reasons:

  • interoperability
  • security

You don't want an evil client disturb or break your servers, or fail to serve clients because of interoperability issues.

Testing yourself

Install the testsuite:

pip install -U autobahntestsuite

Create a node with a node configuration starting a WebSocket testee transport:

   "workers": [
         "type": "router",
         "transports": [
               "type": "websocket.testee",
               "endpoint": {
                  "type": "tcp",
                  "port": 9001,
                  "backlog": 1024
               "options": {
                  "compression": {
                     "deflate": {

Now create a file fuzzingclient.json:

   "servers": [
                     "agent": "",
                     "url": "ws://"
   "cases": ["*"],
   "exclude-cases": [],
   "exclude-agent-cases": {}

This test specification defines which test cases to run against what servers.

Then, start in a first terminal

crossbar start

and start the testsuite in a second terminal

wstest -m fuzzingclient -s fuzzingclient.json

Testing will take some time. It runs over 500 test cases. In the end, it'll generate HTML report files. Open the reports/servers/index.html overview page in your browser - click on the green "Pass" links to view the case detail reports.


option description
id ID of the transport within the running node (default: transport<N> where N is numbered automatically starting from 1)
type Type of transport - must be "websocket.testee".
endpoint Listening endpoint for transport. See Transport Endpoints for configuration
debug Turn on debug logging for this transport instance (default: false).
url The WebSocket server URL to use (default: null)
options See WebSocket Options