Page Object pattern
Here are some important aspects of a good framework design, which we tend to base our decision on:
- Avoiding duplication of code
- Tests should be more readable
- Tests should be easy to maintain
- Accommodating changes should be easy
- Enhanced reliability
- A structure that is easy to scale with the growth of the project
Page Object pattern is about modelling your app's UI as an object. A Page Object wraps the UI of a page with an app-specific API, which allows us to manipulate page elements. Let's understand the same with respect to the following image. The following page serves the purpose of both login and registration. It's the first page that gets displayed when we launch the app; for the sake of our conversation, let's call this a landing page. The page contains UI elements such as skip, mobile number text field, continue button, and Facebook and Google sign in buttons:
When we apply the Page Object concept, the preceding page will typically perform the following services for any...