A short while ago we were contracted by a client to design an automation system for some of their web site's functions. Off the shelve solutions, such as QTP, were out of the question because our customer was constraint by a small budget.
Our team understands that not all web sites are created equal, and, in order for any automation initiative to be successful a thorough analysis must be performed of not only the web application but the business as well. Since our client's QA team, while technically savvy, were not programmers we decided to implement a page object design pattern where all of the "magical selenium commands" where abstracted in a class and exposed to the test developers as methods they would call from their test scripts.
The resulting implementation, as seen in the diagram below, is currently deployed and keeping management and interested parties up to date on the status of key functional areas of the web site.
In the coming weeks, we are going to be covering each implementation step in more detail. We look forward to any feedback!