/gwen

A Gherkin interpreter with an abstracted automation engine.

Primary LanguageScalaApache License 2.0Apache-2.0

Gwen

Gwen

Gwen is a Gherkin interpreter that turns Given-When-Then steps into automation instructions and executes them for you so you don't have to do all the programming work. It has an abstracted evaluation engine allowing any type of automation capability to be built and mixed in. Meta specifications (also expressed in Gherkin) are used to capture automation bindings and allow you to compose step definitions by mapping 'declarative' steps in features to 'imperative' steps in engines that perform operations.

Current Status

Build Status

Why Gwen?

Gwen = [G]iven [W]hen Th[en]

We wanted to build a behavior driven automation tool that could use Gherkin to automate acceptance testing and robotic processing with little to no coding effort required on behalf of the user. So we developed an interpreter to read Gherkin features as input and produce executing instructions as output through automation engines that can be developed and shared.

What engines are available?

  • gwen-web  - Our first engine is the gwen-web engine that we built on top of Selenium. You can download and use it to rapidly drive web automation with Gherkin feature specs.

Links

Core Runtime Requirement

  • Java SE 8 Runtime Environment

Key Features

Mail Group

All announcements and discussions are posted and broadcast to all members in the following mail group. You are welcome to visit and subscribe to receive notifications or get involved.

Credits

  • Cucumber/Gherkin
  • Scopt
  • JLine
  • Bootstrap
  • JQuery
  • Reel

Contributions

New capabilities, improvements, and fixes are all valid candidates for contribution. Submissions can be made using pull requests. Each submission is reviewed and verified by the project committers before being integrated and released to the community. We ask that all code submissions include unit tests.

By submitting contributions, you agree to release your work under the license that covers this software.

How to contribute:

  1. Fork this repository
  2. Create a branch on your forked repository
  3. Commit your changes to your branch
  4. Push your branch to your forked repository
  5. Create a pull request from your branch to here

License

Copyright 2014-2017 Branko Juric, Brady Wood

This software is open sourced under the Apache License, Version 2.0.

See also: LICENSE

This project has dependencies on other open source projects. All distributed third party dependencies and their licenses are listed in the LICENSE-THIRDPARTY file.

Open sourced 14 May 2014 09:30 pm AEST