Selenium Design Patterns and Best Practices (2014)
Chapter 1: Writing the First Test
Chapter 2: The Spaghetti Pattern
Chapter 4: Data-driven Testing
Chapter 5: Stabilizing the Tests
Chapter 6: Testing the Behavior
Chapter 7: The Page Objects Pattern
Chapter 8: Growing the Test Suite
Appendix, Getting Started with Selenium