Sobes.tech
Middle+

Háblenos de la infraestructura de su marco.

sobes.tech AI

Respuesta de la IA

El marco está construido sobre una arquitectura en capas.

  • Capa de pruebas: Contiene clases y métodos de prueba que describen los escenarios de prueba. Se utiliza un marco de pruebas (JUnit 5 / TestNG) para anotaciones y ejecución de pruebas.
  • Capa de páginas (Page Object Model): Implementa el patrón Page Object Model (POM). Cada clase de página representa una página web o una parte de ella y contiene métodos para interactuar con los elementos y realizar acciones.
  • Capa de utilidades: Contiene clases y funciones auxiliares para tareas comunes, como trabajar con datos de prueba (lectura de archivos, bases de datos), registro (SLF4j), capturas de pantalla, manejo de configuración (OwnerR), etc.
  • Capa del controlador: Abstrae el trabajo con el controlador web (por ejemplo, Selenium WebDriver). Es responsable de la inicialización, configuración y gestión de instancias del controlador para diferentes navegadores y plataformas (directamente o a través de Selenide).
  • Informes: Integrado con el sistema de informes (Allure Report) para generar informes detallados de la ejecución de pruebas, incluyendo pasos, capturas de pantalla y registros.
  • Integración CI/CD: El marco está configurado para ejecutarse en una canalización CI/CD (Jenkins / GitLab CI) usando herramientas de construcción (Maven / Gradle).

Además, pueden incluirse capas para trabajar con API (REST Assured), bases de datos o aplicaciones móviles, dependiendo de la naturaleza del producto probado. La gestión de dependencias se realiza mediante sistemas de gestión de dependencias (Maven / Gradle).

Ejemplo de estructura del proyecto:

// Ejemplo de estructura del proyecto del marco
src/test/java/com/example/tests/
    TestClass1.java
    TestClass2.java
src/test/java/com/example/pages/
    LoginPage.java
    HomePage.java
src/test/java/com/example/utils/
    DataReader.java
    LoggerUtil.java
src/test/resources/
    config.properties
    testdata.json
pom.xml (o build.gradle)