Symbiont

Gem Version Build Status Coverage Status Code Climate Dependency Status

Symbiont provides a semantic domain-specific language that can be used to construct a fluent interface for test execution libraries. The initial focus will be on using the watir-webdriver API as the underlying driver library.

Gitter chat endorse

Installation

You can use Symbiont as part of another project, in which case you can add the following to your Gemfile:

gem 'symbiont'

And then execute:

$ bundle

You can also install Symbiont just as you would any other gem:

$ gem install symbiont

Usage

To learn how to use the framework, you can check out my blog posts on Symbiont.

You can check out the Symbiont test script for an idea of how the library can be interacted with. Do note that the test script requires a local copy of Dialogic to be running. To execute the test script:

$ rake test:script

Why call it Symbiont?

A "symbiont" is an organism in a symbiotic (mutually beneficial) relationship. Some of these relationships are called obligate, which means that both organisms need each other in order to survive. Other such relationships are called facultative, meaning that both organisms don't strictly need each other to survive, but they stand a better chance if they do.

Symbiotic relationships include associations in which one organism lives on another organism -- ectosymbiosis -- or where one organism lives inside the other -- endosymbiosis.

So, with that bit of context, think of this library as a facultative, endosymbiotic organism that lives within your test logic, giving it strength and sustenance.

Contributing

  1. Fork the project.
  2. Create a feature branch. (git checkout -b my-new-feature)
  3. Commit your changes. (git commit -am 'new feature')
  4. Push the branch. (git push origin my-new-feature)
  5. Create a new pull request.

Credits

Thanks to Jeff Morgan (http://www.cheezyworld.com/) for his page-object gem, Alister Scott (http://watirmelon.com) for his watir-page-helper gem, Alex Rodionov ((http://p0deje.blogspot.com/) for his watirsome gem, and Nat Ritmeyer (http://www.natritmeyer.com/) for his SitePrism gem.

Symbiont is distributed under the MIT license. See the LICENSE file for details.