Skip to content
This repository was archived by the owner on Nov 16, 2018. It is now read-only.

Wire Protocol

antifuchs edited this page Aug 13, 2010 · 35 revisions

Cucumber supports a wire protocol that allows it to invoke step definitions implemented on any platform.

To use the wire protocol, you install Ruby and write and run your features as you normally would, but instead of writing step_definitions files in Ruby or another supported programming language, you write a simple .wire file, which tells Cucumber where to find your step definitions:


  host: localhost
  port: 98989

When you run your features, Cucumber will then connect to this TCP socket, ask the service at the other end about the the steps it has defined, and subsequently tell the service to invoke then if necessary. It’s perfectly feasible to have a mix of step definitions – some implemented and invoked, in-process, in Ruby, as normal, and some implemented over the wire.

The details of the protocol are documented in the feature here:
http://github.com/aslakhellesoy/cucumber/blob/master/features/wire_protocol.feature

Please feel free to suggest enhancements to the protocol, or ask for help on the mailing list if you’d like to implement a new server.

Implementations

References

Clone this wiki locally