> For the complete documentation index, see [llms.txt](https://abi.gitbook.io/net-core/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/14.2-page-object-model.md).

# 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
