WebSocket Director is command-line tool and a library which aimed to automate black-box testing of WebSocket
servers (Action Cable, AnyCable, Elixir Phoenix, etc.) using human-readable scenarios (stored as YAML or JSON).
All you need is to
gem install wsdirector-cli, create a YAML file and run it. For example, consider an Action Cable scenario interacting with the echo channel:
# script.yml - client: protocol: action_cable actions: - subscribe: channel: "EchoChannel" - perform: channel: "EchoChannel" data: text: "Hey!" - receive: channel: "EchoChannel" data: response: "Hey!"
You can run it using the following command:
$ wsdirector -u localhost:3000/cable -f script.yml 1 client, 0 failures
WebSocket Director could be used as a helper tool in development as well as a building block for automated tests.