| 👨💻 Nombre | 📧 Correo | 🏫 Link directo al repositorio | 🐙 Usuario GitHub |
|---|---|---|---|
| Jonathan David Fernandez Vargas | jonathanfdez62@gmail.com | LinkRepositorio | jonathand77 |
Suite de pruebas E2E para ParaBank, automatizando los flujos críticos de un cliente bancario mediante BDD.
Este proyecto automatiza pruebas end-to-end sobre ParaBank, una aplicación bancaria de demostración. La solución implementa WebdriverIO como motor de automatización, Cucumber para escribir los escenarios en formato Gherkin (BDD) y el patrón Page Object Model para separar la lógica de interacción con la UI de la definición de los pasos, facilitando el mantenimiento y la reutilización de código.
Antes de comenzar, asegúrate de contar con:
- Git
- Node.js v18 o superior (incluye npm)
- Google Chrome instalado
- Conexión a internet (los tests corren contra https://para.testar.org/parabank)
- Un editor de código como Visual Studio Code (opcional)
WebdriverIO_ProyectoPS/
├── RAÍZ
│ ├── .gitignore
│ ├── .git/
│ ├── .github/
│ ├── package.json
│ ├── package-lock.json
│ ├── wdio.conf.js
│ └── features/
│ ├── login.feature
│ ├── register.feature
│ ├── updateContactInfo.feature
│ ├── pagos.feature
│ ├── prestamos.feature
│ ├── pageobjects/
│ │ ├── page.js
│ │ ├── login.page.js
│ │ ├── register.page.js
│ │ ├── updateContactInfo.page.js
│ │ ├── pagos.page.js
│ │ └── prestamos.page.js
│ └── step-definitions/
│ ├── steps.js
│ ├── pagosSteps.js
│ ├── prestamosSteps.js
│ └── updateContactInfoSteps.js
git clone https://github.com/Jonathand77/WebdriverIO_ProyectoPS.git
cd WebdriverIO_ProyectoPSnpm installEsto instalará:
@wdio/cli,@wdio/local-runnery@wdio/cucumber-framework(motor de ejecución BDD)@wdio/browserstack-servicey@wdio/visual-service(servicios adicionales de WebdriverIO)chai(aserciones)wdio-vscode-service(integración con VS Code)
npm run wdioTambién se puede ejecutar directamente con:
npx wdio run ./wdio.conf.jshttps://para.testar.org/parabank).
| Feature | Descripción |
|---|---|
login.feature |
Inicio de sesión (credenciales válidas e inválidas) |
register.feature |
Registro de un nuevo cliente |
updateContactInfo.feature |
Actualización de información de contacto |
pagos.feature |
Pago a un beneficiario (Bill Pay) |
prestamos.feature |
Solicitud de préstamo |
- Page Object Model: cada pantalla de ParaBank tiene su propia clase en
pageobjects/, exponiendo selectores y acciones reutilizables. - Separación de responsabilidades: los escenarios Gherkin (
*.feature) describen el comportamiento esperado, mientras que losstep-definitions/traducen esos pasos a interacciones concretas sobre los page objects. - Reutilización:
page.jscentraliza comportamiento común (navegación, esperas) heredado por el resto de los page objects. - BDD legible: los escenarios se redactan en lenguaje natural (Gherkin), permitiendo que perfiles no técnicos comprendan el alcance de las pruebas.
| Componente | Rol | Configuración |
|---|---|---|
wdio.conf.js |
Configuración central del runner | specs, capabilities, framework: cucumber |
capabilities |
Navegador utilizado en la ejecución | Chrome (maxInstances: 1) |
runner |
Modo de ejecución | local |
- Login con validación de credenciales correctas e incorrectas.
- Alta de un nuevo cliente a través del formulario de registro.
- Actualización de datos de contacto de un cliente ya autenticado.
- Pago a un beneficiario mediante el módulo Bill Pay.
- Solicitud de un préstamo y verificación del resultado (aprobado/denegado).
- login.page: interacción con el formulario de inicio de sesión.
- register.page: alta de un nuevo cliente.
- updateContactInfo.page: edición del perfil del cliente.
- pagos.page: flujo de pago a beneficiarios (Bill Pay).
- prestamos.page: flujo de solicitud de préstamos.