A Gwen interpreter that enables teams to automate end to end web testing and robotic processing with behaviour defined in Gherkin feature specifications. Automation is achieved through Gherkin bindings called meta specs, composed with a prescribed DSL and maintained alongside your feature files. An embedded Selenium engine executes scenarios according to the meta you provide to perform operations in browsers for you.
Visit the Gwen home page for our user documentation and getting started guide.
- Declare feature specs to describe scenarios in the language of your domain.
Feature: Todo
Scenario: Create todo list
Given a new todo list
When the following items are added
| Get the milk |
| Walk the dog |
Then the list will contain 2 items
- Compose meta specs to describe how steps will execute to automate scenarios.
Feature: Todo Meta (automation glue)
@StepDef
Scenario: a new todo list
When I navigate to "http://todomvc.com/examples/react"
Then the todo field can be located by class "new-todo"
And count can be located by css ".todo-count strong"
@StepDef
@ForEach
@DataTable(horizontal="item")
Scenario: the following items are added
When I enter item in the todo field
Then count should be gwen.table.record.number
@StepDef
Scenario: the list will contain <expected> items
Then count should be "$<expected>"
- Launch Gwen to bind your meta and execute your feature specs to automate.
- Linux, Mac or Windows OS
- Chrome, Firefox, Safari, or Edge browser
- Java 17 or higher
Copyright 2014-2024 Brady Wood, Branko Juric.
This software is open sourced under the Apache License, Version 2.0.
See also: LICENSE.
This project has dependencies on the core Gwen interpreter and other open source projects. All distributed third party dependencies and their licenses are listed in the LICENSE-THIRDPARTY file.
Open sourced 28 June 2014 03:27 pm AEST
New capabilities, improvements, fixes, and documentation are all welcomed candidates for contribution. 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 or sample test features providing relevant coverage.
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
- Rebecca Abriam | George Tsihitas | Zoltan Penzeli | inkbleed | Pradeep Thawani | anshu781126 | ketu4u2010 | Rahul9844 | rkevin99 | Sergio Freire | dfriquet | charleslcso | Alexandre Friquet | Sergio Freire | sse2ebdd | Gunasekaran
- Arun Datta for giving us valuable feedback and advice
- Nascent Creative for developing our logo