A Gwen interpreter that enables teams to quickly automate front end web tests and robotic online processes with Gherkin feature specifications. A web DSL interacts with Selenium under the covers for you so you don't have to do any of that programming or technical development work. It supports all the standard web element locators provided by Selenium and additionally allows you to inject JavaScript in places where dynamically locating web elements or running functions on pages may be necessary.
- Visual Testing with AppliTools
- Hard, soft, and sustained assertion modes
- Indexed locators
So you can drive automation with Gherkin features like this..
Feature: Google search
Scenario: Perform a google search
Given I have Google in my browser
When I do a search for "Gwen automation"
Then the first result should open a Gwen page
..by writing Gwen Meta features like this..
Feature: Google search meta
@StepDef
Scenario: I have Google in my browser
Given I start a new browser
When I navigate to "http://www.google.com"
Then the page title should be "Google"
@StepDef
Scenario: I do a search for "<query>"
Given the search field can be located by name "q"
When I enter "$<query>" in the search field
Then the page title should contain "$<query>"
@StepDef
Scenario: the first result should open a Gwen page
Given the first match can be located by css selector ".r > a"
When I click the first match
Then the current URL should contain "gwen-interpreter"
..with no Page Objects or Selenium coding required!
- Automation driven by plain text Gherkin specifications
- See Gwen-Web DSL
- Features can execute in batch mode or interactively
- Features can execute sequentially or in parallel
- Runtime settings
- Execution can be data driven (using csv data feeds)
- REPL console allows verifying before running
- Cross browser support
- Remote web driver support
- Screenshot capture and slideshow playback
- Interchangeable Selenium implementation
- Locator Chaining
- Headless Browser Execution
- Gwen Workspaces for easy and consistent Gwen installation, configuration and execution on any workstation or build server.
- Locator level timeouts
- Implicit JavaScript Locators
- Hard, soft, and sustained assertion modes
- Visual Testing with AppliTools
Copyright 2014-2019 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 gwen 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, and fixes 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 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
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:
- Rebecca Abriam
- George Tsihitas
- Zoltan Penzeli
- inkbleed
- Pradeep Thawani
- anshu781126
- ketu4u2010
- Rahul9844
- rkevin99