What this book covers
Chapter 1, Writing the First Test, will guide us through the process of writing a simple Selenium test and converting it to a programming language.
Chapter 2, The Spaghetti Pattern, will help us write our second test that will completely depend on the test we wrote in the first chapter. We will understand why having tests that completely depend on each other is a bad practice.
Chapter 3, Refactoring Tests, will fix some of the pitfalls and common mistakes we encountered so far. This chapter will concentrate on the introduction of good computer programming practices such as code reuse.
Chapter 4, Data-driven Testing, will guide us through making some initial improvements to your test suite, and it will eventually prepare us to examine one of the most difficult problems in software testing: test data.
Chapter 5, Stabilizing the Tests, will help us understand that writing tests alone is not enough. We will dedicate this chapter to making our test bug free and resistant to random instabilities in the test environment.
Chapter 6, Testing the Behavior, will help you discover why testing the application in its current iteration becomes unmaintainable in the long run. Instead, we will start testing the desired behavior of the application, not the implementation.
Chapter 7, The Page Objects Pattern, covers one of the most undervalued and misunderstood topics when it comes to User Interface testing, that is, Page Objects. In this chapter, we will create a working Page Object testing framework and demonstrate how the tests can keep up with the new feature development cycle.
Chapter 8, Growing the Test Suite, will conclude this book with some basic tips on how to prioritize the growth of the test suite. Along the way, we will discuss how to keep our test stable and relevant to the whole team, no matter how often or big the changes are to the application being tested.
Appendix, Getting Started with Selenium, covers the initial setup of the user's computer. We will learn how to use the Command Line Interface terminal on Windows, Mac OSX, and Linux. We will install the Ruby programming language and Selenium WebDriver Ruby gem, followed by installation of the Firefox web browser. It concludes by explaining the test file and class nomenclature so that individuals new to the Ruby programming language can easily follow along with the tests.