Summary
Building a flexible and scalable functional testing framework for your application is typically an evolutionary process. You experiment and find things that work, and things that don't, particularly if you have little programming experience. Sometimes, you proceed down a path that binds your hands later down the road, and a massive refactor is needed. I would like to present a simple testing framework built upon several existing, free technologies (ConfigObj, twill, nose) and models (Page Objects, Scenario Objects, Abstract State Machines) that is easy to configure, extend, and maintain.