SitePrism: Capybara Page Objects

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!

3 thoughts on “SitePrism: Capybara Page Objects

  1. 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?

  2. 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…

  3. I’m using SitePrism and works like a charm! Anxious for new features and enhancements. Great work Nat!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>