Symbiont

Description
The Symbiont gem is designed to provide an open framework for running automated tests against a browser using popular web testing interfaces.
Right now the best information on the purpose of this project and how it works can be found on my Symbiont-tagged blog posts.
Installation
Add this line to your application's Gemfile:
gem 'symbiont'
And then execute:
$ bundle
Or install it yourself as:
$ gem install symbiont
Using Symbiont
Check out the Symbiont Wiki for details on how to use Symbiont.
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 gem as a facultative, endosymbiotic organism that lives within your test logic, giving it strength and sustenance.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create 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, and Nat Ritmeyer (http://www.natontesting.com/) for his SitePrism gem. I learned a lot from analyzing their code and working to craft my own solution around theirs. Rather than fork their projects, my changes were systemic enough to warrant creating a new project.
Copyright
See the LICENSE file for details.
In short, Lucid is under an MIT license. Since I'm borrowing from many other people, just as they borrowed from many other people before them, I'm just establishing I wrote this particular version. (If nothing else, this means you know who to blame.)