# 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

![](/files/sI0JtrY3HiebrftOjDRs)

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://abi.gitbook.io/net-core/9.-pruebas-de-integracion/14.2-page-object-model.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
