Skip to content
Alec Henninger edited this page Mar 4, 2015 · 9 revisions

Framework Overview

The darcy framework is divided into modules:

  • darcy-ui: Boilerplate for page objects, API for all types of user interfaces
  • darcy-web: Add web-specific additions to UI API.

To use the API, you must include an implementation:

  • darcy-webdriver: An implementation of darcy-web (which includes darcy-ui) that uses Selenium WebDriver as the automation library backend.

The synq library is used in order to sync up the automation with the application being controlled:

  • synq: Synchronization aid that can wait for or react to external events and conditions.

Using darcy

To use darcy to write automation, check out the official tutorials hosted on GitBook, Automating Applications with Darcy.

Contributing to darcy

Darcy is a young project, and one of the greatest things you could do to contribute is to simply try it out! Feel free to submit feedback or bug reports by opening issues, or even if you just want to ask a question. Are you a Java pro and spot a code smell or antipattern? Open an issue!

Contributing code functions on a classic fork and pull model. Please try and follow Google's Java style guide, with use four space tabs instead of two, and a 100-character column limit. All pull requests will get built automatically on Travis. Please try and write some unit tests for newly introduced behavior, however it is not a hard requirement while the project is young.

All of the darcy family of projects follow semantic versioning.

To get started, take a look at the open issues for any of the related projects:

Each project's wiki has architectural documentation: