Capybara is a great browser interaction library for automated testing, but until now it hasn’t been much fun to follow the Page Object pattern with it. So, I wrote SitePrism that lets you do just that: SitePrism is a Page Object Model DSL for Capybara.
We’ve been using it at my current client since December 2011 and it’s proven a great success. Until now I’ve kept it quiet to allow some time to develop it to the point that it does everything we need, but a few days ago SitePrism went to version 1.0 – early adopters tell me that SitePrism’s intuitive API lets them create expressive and maintainable Page Objects with ease, so take a look! The SitePrism ReadMe will give you an idea of what it’s like to put together a Page Object model of the site you’re testing using SitePrism with capybara…
Here’s the code: https://github.com/natritmeyer/site_prism
And here’s the documentation: http://rdoc.info/gems/site_prism/frames
Go take a look, it might save you a lot of frustration!
We have been having real success using SitePrism at Wildfire. It’s really intuitive – especially if you have used page objects before without a framework which was designed specifically to support the pattern.
In particular the use of sections has lead to a much more logical structure of my page objects and far smaller page object classes overall.
Nat – do you have any further enhancements in the pipeline for SitePrism?
Hi Nathan,
Glad SitePrism is working out for you!
I’ve just added a TODO list to the project, so expect some new features soon…
I’m using SitePrism and works like a charm! Anxious for new features and enhancements. Great work Nat!