README.md in wsdirector-cli-0.2.1 vs README.md in wsdirector-cli-0.3.0

- old
+ new

@@ -1,25 +1,23 @@ -[![Gem Version](https://badge.fury.io/rb/wsdirector-cli.svg)](https://rubygems.org/gems/wsdirector-cli) [![CircleCI](https://circleci.com/gh/palkan/wsdirector.svg?style=svg)](https://circleci.com/gh/palkan/wsdirector) +[![Cult Of Martians](http://cultofmartians.com/assets/badges/badge.svg)](http://cultofmartians.com/tasks/websocket-director.html) +[![Gem Version](https://badge.fury.io/rb/wsdirector-cli.svg)](https://rubygems.org/gems/wsdirector-cli) [![Build Status](https://travis-ci.org/palkan/wsdirector.svg?branch=master)](https://travis-ci.org/palkan/wsdirector) [![CircleCI](https://circleci.com/gh/palkan/wsdirector.svg?style=svg)](https://circleci.com/gh/palkan/wsdirector) # WebSocket Director Command line tool for testing websocket servers using scenarios. Suitable for testing any websocket server implementation, like [Action Cable](https://github.com/rails/rails/tree/master/actioncable), [Websocket Eventmachine Server](https://github.com/imanel/websocket-eventmachine-server), [Litecable](https://github.com/palkan/litecable) and so on. -<a href="https://evilmartians.com/"> -<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54"></a> - ## Installation ```bash $ gem install wsdirector-cli ``` ## Usage -Create YAML file with simle testing script: +Create YAML file with simple testing script: ```yml # script.yml - receive: "Welcome" # expect to receive message - send: @@ -41,11 +39,11 @@ ```yml # script.yml - client: # first clients group name: "publisher" # optional group name multiplier: ":scale" # :scale take number from -s param, and run :scale number of clients in this group - actions: # + actions: - receive: data: "Welcome" - wait_all # makes all clients in all groups wait untill every client get this point (global barrier) - send: data: "test message" @@ -130,9 +128,27 @@ - receive: channel: "ChatChannel" data: text: "hello" ``` + +## Future Ideas + +- Report timings (per-client and aggregates) + +- File-less scenarios (JSON-encoded?), e.g. + +```shell +wsdirector -i '{"receive": "hello"}' localhost:9898/ws +``` + +- Connection parameters (headers, query params, etc) + +- Testing frameworks integrations + +- Loading protocols dynamically + +- What else? [Submit an issue!](https://github.com/palkan/wsdirector/issues/new) ## Contributing Bug reports and pull requests are welcome on GitHub at https://github.com/palkan/wsdirector.