So far, we have seen various APIs of WebDriver and learned how to use them to accomplish various actions on the web application we have been testing. We created a number of tests that use these APIs and are executed continuously to validate the application. However, as your test suite grows, the complexity of your tests and code will also grow. This becomes a challenge, with respect to the maintainability of your scripts and code. You will need to design a maintainable, modular, and reusable test code that will scale as you add more test coverage. In this chapter, we will explore the PageObject pattern to build a highly maintainable test suite. We will cover the following topics:
- What is the PageObject pattern design?
- Good practices for designing PageObjects
- Extensions to the PageObject pattern
- An end-to-end example
A decently written test script would...