Gwen-Web is a web automation engine that runs inside the Gwen interpreter. It enables teams to automate front end web tests and online robotics with Gherkin feature specs. A web DSL interacts with Selenium WebDriver under the covers for you so you don't have to do all the programming work. It does however, allow you to interpolate strings and use JavaScript bindings for flexibility and tailoring where necessary.
So you can do web 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 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 start with "https://github.com/gwen-interpreter/gwen"
..and let Page Objects Begone!
- 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
- 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
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.
- Selenium
- Cucumber/Gherkin
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 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
Copyright 2014-2017 Brady Wood, Branko Juric
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