The Autobahn|Testsuite provides a fully automated test suite to verify client and server implementations of the WebSocket Protocol for specification conformance and implementation robustness.
Autobahn|Testsuite also provides a couple of other tools useful for WebSocket (and WAMP) implementors and developers.
For further information, see Installation and Usage.
Autobahn|Testsuite is used by numerous projects and companies across the industry:
- Autobahn
- Mozilla Firefox
- Google Chrome / WebKit
- Microsoft Internet Explorer
- RIM / Browser
- WebSocket++
- The Server Framework
- Jetty
- Netty
- Grizzly
- WebSocket4Net
- SuperWebSocket
- Webbit
- lua-websockets
- Crossbar.io
- Apache Tomcat
- WebSocket-Node
- WS for node.js
- websocket.io
- ws4py
- Facebook Tornado
- pywebsocket
- Noemax PowerWebSockets
- Noemax WCF-Xtensions
- Java-WebSocket
- jWebSocket
- websockets
- RSWebSocket
- Intel API Management
- Pusher / EM-WebSocket
- SocketRocket
- RSWebSocket
- Faye
- gevent-websocket
- Cowboy
- Resin
- Erlang Yaws
- WASD OpenVMS
- QtWebSocket
- eventlet
- zaproxy
- ... and more (can't keep up)
What users are saying:
"Autobahn was a huge help during the standardization and early development of WebSocket in Firefox. It helped find many nasty corner conditions in a clean and repeatable way.
Interoperation testing like this really moves the Open Web forward."
Patrick McManus, Mozilla Firefox
"The Jetty project has been active in the development of the websocket protocol and lack of a comprehensive test suite was an impediment to the standardisation of the protocol. The Autobahn test suit has filled that void and been warmly embraced by our websocket engineers at Intalio as it has been invaluable for evaluating the protocol development, improving inter operability and monitoring adoption of new/optional features.
Our own implementation and the wider websocket 'ecosystem' are significantly better due to the availability of Autobahn."
Greg Wilkins, Jetty author, Chief Architect at Intalio
"During the time of implementing the latest WebSocket version in Netty and Undertow we were searching for a way to test our implementations and make sure they are 100% RFC compliant. While we already had unit tests in place there was a lack of good tests for the whole implementation. Using the AutobahnTestsuite for this purpose allowed us to concentrate on the implementation and made it easy to catch regressions as soon as possible."
Norman Maurer, Principal Software Engineer at Red Hat
The test suite will check an implementation by doing basic WebSocket conversations, extensive protocol compliance verification and performance and limits testing.
Contains over 500 test cases covering
- Framing
- Pings/Pongs
- Reserved Bits
- Opcodes
- Fragmentation
- UTF-8 Handling
- Limits/Performance
- Closing Handshake
- Opening Handshake (under development)
- WebSocket compression (permessage-deflate extension)
Besides the automated testsuite (aka "fuzzing" server/client), wstest also includes a number of other handy modes that aid WebSocket and WAMP developers:
- WebSocket echo server and client
- WebSocket broadcast server (and client driver)
- Testee modes to test AutobahnPython against the test suite
- wsperf controller and master (see below for more)
- WAMP server and client, for developing WAMP implementations
- WebSocket Mass-Connect
Please see Usage for further information.
Get in touch on IRC #autobahn
on chat.freenode.net
or join the mailing list.