Summary Part 1: Fundamentals Chapter 1: First steps Chapter 2: Locating elements on a page Chapter 3: Interacting with elements on a page Chapter 4: Examining a page Chapter 4: Making maintainable tests using the Page Object pattern Chapter 6: What to do when something goes wrong Part 2: WebDriver APIs in depth Chapter 7: Managing WebDriver Chapter 8: Windows, pop-ups, and frames Chapter 9: Unicorns and other beasts: exotic features of web pages Chapter 10: Executing JavaScript using the JavascriptExecutor interface Chapter 11: What you need to know about different browsers Chapter 12: Wrapping WebDriver and WebElement Part 3: Page based automation framework Chapter 13: Forming a framework Chapter 14: Encapsulating and grouping elements Chapter 15: Automating a page flow Chapter 16: Examining HTML tables Chapter 17: Automating jQuery datepicker Chapter 18: Datepicker framework Appendices Appendix A: Selenium grid