Skip to content

gwen-interpreter/gwen-web

Repository files navigation

Gwen-Web


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.

Get Started

Visit the Gwen home page for our user documentation and getting started guide.

Current Status

CI

he_badge

How it Works?

  1. 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
  1. 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>"
  1. Launch Gwen to bind your meta and execute your feature specs to automate.

System Requirements

  • Linux, Mac or Windows OS
  • Chrome, Firefox, Safari, or Edge browser
  • Java 17 or higher

License

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

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

  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

Maintainers

Credits

Contributors

Users who raised issues

Projects we heavily rely on

Supporters