Building a test automation framework with Selenium is more an art than a technical activity. A lot needs to be considered when building such frameworks. Understanding client expectations for what needs to be delivered is a key aspect in thinking about automation.