Gwen-Web
A Gwen interpreter that enables teams to automate front end web tests and repetitive online processes with Gherkin feature specifications. A web engine interacts with Selenium under the covers to perform operations and checks in browsers. All the standard Selenium locators are supported and you can additionally inject JavaScript in places where dynamically finding elements or running functions on web pages may be necessary.
Get Started
Visit the Gwen home page for our user documentation and getting started guide.
Current Status
How it Works?
- 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 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.
System Requirements
- Linux, Mac or Windows OS
- Chrome, Firefox, Safari, Edge or IE web browser
- Java 8 (version 1.8) or higher
License
Copyright 2014-2022 Brady Wood, Branko Juric and Gwen contributors.
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
Contributions
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.
How to Contribute
- 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
Maintainers
Contributors
We thank the following contributors and active users for helping to make Gwen better.
The following contributors submitted pull requests that have been merged:
The following users raised issues or requests that have been addressed:
- Rebecca Abriam | George Tsihitas | Zoltan Penzeli | inkbleed | Pradeep Thawani | anshu781126 | ketu4u2010 | Rahul9844 | rkevin99 | Sergio Freire | dfriquet