/gwen-web

A web automation engine for Gwen.

Primary LanguageScalaOtherNOASSERTION

Gwen-web

Gwen-web

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.

Current Status

Build Status

Why Gwen-web?

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!

Links

Runtime Requirements

Key Features

Quick Links to Wiki Information

Mail Group

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.

Credits

  • Selenium
  • Cucumber/Gherkin

Contributions

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:

  1. Fork this repository
  2. Create a branch on your forked repository
  3. Commit your changes to your branch
  4. Push your branch to your forked repository
  5. Create a pull request from your branch to here

License

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