# 14.1 Page Object Model

El Page Object Model (POM) es un patrón de diseño utilizado en pruebas de e2e.&#x20;

Por cada página creas una clase con los componentes  (input, botones, combos, etc) de la página y las funciones comunes de la pagina. Esto permite reutilizar el accesso a los elementos si por ejemplo por alguna razón un elemento cambia de nombre, solo lo cambias en la clase de la página en lugar de cambiarlo en todos los test.

### Ejemplo

Se muestra un ejemplo para una página de Login con un input para el usuario, otro para el passsword, el título de la página, el botón para el login y un mensaje de error

![](https://3731331968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LKmGSg4qhizjqeDPHJC%2Fuploads%2FkA450BfxOtWPcoVgSnE4%2Fimage.png?alt=media\&token=a27451ef-65a1-46ff-9930-587f8497cad9)

Se crea una clase con las propiedades User, Password,Title,ErrorMessage y LoginButton para acceder a cada componente de la página y un metódo Login para realizar el login de la página
