Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 Automatización E2E: OrangeHRM con Selenium y Python

Python Selenium Pytest Patrón Arquitectónico

📄 Descripción del Proyecto

Este repositorio contiene la solución a un reto de automatización End-to-End (E2E) sobre la plataforma de recursos humanos OrangeHRM.

El objetivo de este proyecto es demostrar la capacidad de diseñar e implementar un framework de automatización robusto, escalable y fácil de mantener utilizando Python y buenas prácticas de ingeniería de software para pruebas (QA).

⚙️ Stack Tecnológico

  • Lenguaje: Python
  • Framework de Automatización: Selenium WebDriver
  • Test Runner: Pytest
  • Reportes: Pytest-HTML / Script personalizado
  • Patrón de Diseño: Page Object Model (POM) - Implementación con una clase base (base_page.py) para centralizar acciones comunes y reducir la duplicación de código.

🧪 Escenario de Prueba Automatizado (Test Scenario)

El script cubre el siguiente flujo de negocio crítico:

  1. Autenticación: Ingreso exitoso utilizando credenciales de administrador.
  2. Módulo PIM: Navegación y registro de un nuevo empleado con información básica (Nombre, Apellidos).
  3. Carga de Archivos: Subida exitosa de una fotografía de perfil para el empleado.
  4. Módulo Directory: Búsqueda dinámica utilizando el filtro por nombre.
  5. Validaciones (Asserts): Verificación de que la información del empleado creado coincide y se despliega correctamente en los resultados.

📂 Arquitectura del Proyecto

El proyecto está estructurado utilizando el patrón POM y configuraciones avanzadas de Pytest:

📦 orangehrm-selenium-python
┣ 📂 pages                   # Implementación del patrón POM
┃ ┣ 📜 __init__.py
┃ ┣ 📜 base_page.py          # Envoltorios de Selenium (clics, esperas explícitas, envíos de texto)
┃ ┣ 📜 directory_page.py     # Localizadores y acciones del módulo Directory
┃ ┣ 📜 login_page.py         # Localizadores y acciones de la pantalla de Login
┃ ┗ 📜 pim_page.py           # Localizadores y acciones del módulo PIM
┣ 📂 tests                   # Scripts de ejecución
┃ ┗ 📜 test_orangehrm_e2e.py # Escenario principal End-to-End
┣ 📂 tools                   # Scripts utilitarios y herramientas adicionales
┃ ┗ 📜 generate_report.py    # Script personalizado para la gestión y generación de reportes
┣ 📂 utils                   # Funciones auxiliares, manejo de datos y utilidades generales
┣ 📜 .gitignore              # Archivos ignorados por el control de versiones
┣ 📜 conftest.py             # Configuración de Fixtures de Pytest (Setup/Teardown del WebDriver)
┣ 📜 package.json            # Dependencias adicionales (ej. herramientas de formateo/reporte)
┣ 📜 package-lock.json       # Árbol de dependencias bloqueado para Node
┣ 📜 pytest

About

No description or website provided.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages