Skip to content

A SmartClient / SmartGWT automation engine for Gwen.

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license.sbt
Unknown
LICENSE-THIRDPARTY
Notifications You must be signed in to change notification settings

asgillett/gwen-smart

 
 

Repository files navigation

Gwen-web Gwen-web

Gwen-Smart is a fork of the Gwen-Web project specifically for web applications built with the SmartClient and Smart GWT frameworks. Gwen-Web is a web automation engine that runs inside the Gwen interpreter. It allows teams to automate front end web tests by writing Gherkin feature specifications instead of code. A prescribed DSL delegates to Selenium WebDriver under the covers for you and frees you from development concerns. You can also declaratively compose your own custom DSL with annotated @StepDef Scenarios that can accept parameters and call other steps. Meta features can help eliminate redundancies and give you the flexibility to be as imperative or as declarative as you like in your approach to writing features.

SmartClient and Smart GWT are trademarks or registered trademarks of Isomorphic Software, Inc.

Why this fork?

SmartClient is an extremely rich web framework developed by Isomorphic Software. It greatly simplifies building desktop-like applications that run in a browser.

Automated testing of a SmartClient application with standard tools such as Selenium WebDriver presents challenges because the DOM in a SmartClient application is not only very complex but is also likely to be different on different browsers. To address this problem, the SmartClient authors developed their own WebDriver libraries that are distributed with SmartClient.

The SmartClient WebDriver differs from the Selenium WebDriver in a number of significant respects:

  • A new locator syntax (ByScLocator) is provided in addition to the standard Selenium locators (ById, ByXPath etc.).
  • Rather than using the WebDriver to locate WebElements and then manipulating those WebElements, the SmartClientWebDriver provides a rich set of methods for directly manipulating the elements in the page. Each of these methods takes a "By" object and internally locates and manipulates the WebElement without the user needing to obtain a reference to that WebElement.
  • Additional operations are provided, for example "contextClick", "doubleClick", "dragAndDrop", "waitForElementClickable" and "waitForGridDone".
  • Although the SmartClientWebDriver implements the WebDriver interface, most of the methods from that interface are not included in the SmartClient documentation. I have assumed that WebDriver methods that are not documented in the SmartClient API should not be used.

Since the SmartClientWebDriver operates in a fundamentally different way to the standard Selenium WebDriver, it was necessary to modify the gwen-web source and extend the DSL.

Current Status

Build Status

Key Features

Runtime Requirements

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.

Development Guide

See the Dev Guide if you would like to work with the code or build the project from source.

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.

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 depdendencies and their licenses are listed in the LICENSE-THIRDPARTY file.

Open sourced 28 June 2014 03:27 pm AEST

About

A SmartClient / SmartGWT automation engine for Gwen.

Resources

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license.sbt
Unknown
LICENSE-THIRDPARTY

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Scala 76.0%
  • Gherkin 23.1%
  • Other 0.9%