Gwen 3 Released

Add Gwen to JS projects and shift left

You can now add Gwen to JS projects using npm and have all your executable Gherkin living next to your code and integrated into your development and testing process.

Init project command

A new gwen init command initialises Gwen in your project directory by creating the following:

  • Project, browser, and environment level settings files
  • Feature and meta subdirectories
  • Sample feature and meta files

HOCON and JSON settings

Two new settings formats are now supported in addition to properties:

  • HOCON (Human-Optimized Config Object Notation)
    • A superset of JSON
  • JSON
    • Pure JSON format

Better defaults for better Gherkin

The gwen.feature.mode setting now defaults to declarative instead of imperative to keep DSL steps confined to meta and out of feature specifications.

The gwen.behavior.rules setting now defaults to strict instead of lenient to enforce correct behavioral semantics and Given-When-Then order in all feature scenarios.

Pretty logging

Gwen now logs pretty execution results to the console.

New CLI option for verbose logging

Use the new -v|--verbose CLI option for verbose logging instead (equivalent to Gwen 2 logging).

Configurable CLI options

CLI options are now configurable enabling you to customize your own Gwen launch profile.

Selenium 4

The embedded web engine now uses Selenium 4 and new DSLs have been added to support:

What’s dropped

  • Gwen workspaces have been deprecated in favor of JS projects
  • Applitools integration has been removed

Migration guide

Migrate to Gwen 3

New home page and user docs

https://gweninterpreter.org

New Gwen Home Page and User Documentation

All the Gwen user documentation is now available on our new home page at https://gweninterpreter.org/. We’ve put in a lot of work to make it more user friendly.

Checkout the new Gwen Introduction.

Gwen 3 is coming

We’re just wrapping up Gwen 3 too which will make it easy to add Gwen to JS projects with npm.

Stay tuned!

Gwen Report Portal Integration

Gwen now provides seamless integration with report portal for centralised reporting and analytics.

To send all your Gwen evaluation results to a report portal server, just add the following settings to your Gwen properties file and invoke Gwen on your existing feature suite with the -f rp option:

# gwen.properties

rp.endpoint = http://[host]:[port]
rp.uuid = [report-portal-api-key]
rp.launch = [launch-name]
rp.project = [project-name]
  • Set [host] and [port] to the host and port of your report portal server
  • Set [report-portal-api-key] to the unique key of your report portal instance
  • Set [launch-name] to your desired launch name
  • Set [project-name] to your desired project name

These are the minimal settings required to achieve integration. Once you’ve configured the above settings, simply include rp in your -f/--format option when you invoke Gwen.

Example: ./gwen -b -f rp features

And if you want to also generate HTML reports:

./gwen -b -r target/reports -f rp,html features

The results of all evaluated Gherkin nodes in your features will then be asynchronously sent to report portal during execution. The complete Gherkin syntax is supported and reported (including Rules, Scenarios, Outlines/Templates, steps, data tables, doc strings, etc, etc..). That’s all there is to it! You will now be able to visualise all your Gwen results in report portal and utilise its analytics features to track and manage results.

Supported options and features

  • Reruns
  • Merges
  • Source references
  • File attachments
  • Error traces (inlined or attached)
  • Screenshots
  • Optional logging of Gwen meta
  • Optional logging of StepDefs (inlined or nested)
  • Optional logging of tags and annotations (as attributes)
  • Heartbeat for monitoring connection availability
  • Various test case ID generation strategies (better history association for Gherkin)
  • And more

References