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.