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 in a declarative manner.
- Dialects for Gherkin's spoken languages
- Behavior rules to help enforce good Gherkin style
- Associative meta
Gwen = [G]iven [W]hen Th[en]
We wanted to make automation with executable specifications simpler for everyone and easier for non developers with little to no coding experience. So we developed an interpreter to read plain text Gherkin features as input and produce executing automation instructions as output through automation engines that can be developed and shared.
- gwen-web - A web automation engine for Gwen that you can download and use to quickly automate web application testing and robotic online processing without having to manage native browser drivers, develop page objects or write Selenium code.
- Java SE 8 Runtime Environment
- Integrated Gherkin parser from Cucubmer
- Runtime settings
- Evaluation engines
- Evaluation reports
- Command line interface
- REPL console
- Serial execution
- Parallel execution for features or scenarios
- Dry run execution and validation
- Data driven execution
- Meta features
- Composable step definitions
- Runtime settings
- User settings
- String interpolation
- SQL data bindings
- Implicit attributes
- Template matching
- Hard, soft, and sustained Assertion modes
- Synchronized StepDef execution
- Hard, soft, and sustained Assertion modes
- Supports full Gherkin syntax including example mapping
- State levels and parallel execution for scenarios in additon to features
- Declarative feature mode to force all imperative steps to meta and promote cleaner features.
Join our user network at Gwenify to get access to the community and company level chat and support for your workplace.
Copyright 2014-2020 Branko Juric, Brady Wood and Gwen contributors.
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
New capabilities, improvements, and fixes and documentation are all valid candidates for contribution. Submissions can be made using pull requests. Each submission is reviewed and verified by the project maintainers 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.
- Fork this repository
- Create a branch on your forked repository
- Commit your changes to your branch
- Push your branch to your forked repository
- Create a pull request from your branch to here
We thank the following contributors and active users for helping to make Gwen better. You are all awesome!
The following contributors submitted pull requests that have been merged:
The following users raised issues or requests that have been addressed:
- Chris Leong | Martino Turturiello | bliddicoat | Andrew Gillett | anshu781126 | ketu4u2010 | Rahul9844 | rkevin99 | dfriquet