🥒 ¿Qué es Cucumber?

🥒 ¿Qué es Cucumber?

🧠 Qué te llevás de esta clase

  • Qué es Cucumber y para qué se usa

  • Por qué es tan popular en testing automatizado

  • Cómo conecta el mundo técnico con el negocio


📖 Explicación en palabras simples

Cucumber es una herramienta que te permite escribir pruebas automatizadas en un lenguaje cercano al humano.

En vez de escribir todo en código desde el principio, podés definir escenarios así:

Given el usuario está en la página principal  
When busca "Free Range Testers"  
Then debería ver resultados relacionados  

Esto está escrito en Gherkin, que es un lenguaje simple pensado para que:

  • QA

  • Developers

  • Product Owners

puedan entender lo que se está probando.

👉 La idea es que todos hablen el mismo idioma.


💡 ¿Dónde entra el código entonces?

Acá está la clave:

Ese texto que escribís (Feature files) se conecta con código por detrás.

Por ejemplo:

  • El Given se conecta a un método en Java

  • El When ejecuta acciones con Selenium

  • El Then valida resultados

Es decir:

👉 Cucumber define el qué
👉 Selenium (y tu código) ejecuta el cómo


💡 Ejemplo práctico

Un escenario podría ser:

Scenario: Búsqueda exitosa  
  Given el usuario está en Google  
  When busca "Free Range Testers"  
  Then debería ver resultados relevantes  

Y por detrás:

  • Selenium abre el navegador

  • Escribe en el input

  • Ejecuta la búsqueda

  • Verifica el resultado

Todo eso no se ve en el Feature, pero pasa.


⚠️ Errores comunes

  • ❌ Pensar que Cucumber automatiza por sí solo
    → No. Necesita código por detrás (Selenium, por ejemplo)

  • ❌ Escribir escenarios demasiado técnicos
    → Si parece código, estás perdiendo el objetivo

  • ❌ Escribir escenarios irreales
    → Tienen que representar comportamiento real del usuario


🧪 Mini ejercicio

Pensá en una app que uses todos los días (Netflix, Gmail, etc.)

👉 Escribí un escenario simple en formato:

  • Given

  • When

  • Then

No importa si no es perfecto. La idea es empezar a pensar en comportamiento.


➡️ Qué sigue

En la próxima clase vamos a ver qué es Gradle
y por qué lo usamos para manejar nuestro proyecto.

Todavía no te preocupes por cómo se conecta todo.
Vamos paso a paso.

Selenium y Cucumber con Java

Comprar ahoraSaber más

Introducción

  • 🧐 ¿Qué vamos a ver en este curso?
  • 🤔 ¿Cómo hacer preguntas?
  • 🔥 Recomendaciones para sacarle el mayor provecho al curso2
  • 💪🏻 Actividades del curso
  • 🧑🏻‍💻 ¿Qué es Selenium WebDriver?
  • 🥒 ¿Qué es Cucumber?
  • 🦾 ¿Qué es Gradle?
  • 🔥 Cuestionario Módulo 1
  • 📍 Actividad módulo 1

Instalaciones para el curso

  • 💻 Instalaciones de JDK, Gradle y extensiones6
  • ⚒️ Creando un proyecto con Java y Gradle para Testing9
  • ☕️ Instalando las primeras librerías de nuestro framework

Configuración del proyecto

  • 📚 Creación de carpetas y una decisión clave sobre la infraestructura de nuestro proyecto4
  • 🤠 Una librería que simplifica todo y nuestro primer test12
  • 🥗 Otra extensión útil de Cucumber2
  • Actividad: Compartiendo tu Setup Inicial y WebDriver Manager

Page Object Model: Teoría e implementación

  • 🧙🏻‍♂️ Page Object Model: ¿Qué es y por qué usarlo?5
  • 🔥 La otra gran decisión de diseño de nuestro Framework: Screenplay vs POM
  • 🔍 Cuestionario Módulo POM
  • ✋🏻 Actividad: Implementando el Page Object Model (POM)

Introducción a Cucumber: Instalación e implementación

  • 📍 Creando nuestro primer Feature y ejecutándolo1
  • 🧉 BasePage: Creando la configuración e instanciación del WebDriver
  • 🔌 Conectando Feature, Step Def y Page Object Class5
  • 🔍 Cuestionario módulo Cucumber
  • 🥒 Actividad: Instalación e Implementación de Cucumber

Localización de Elementos Web con XPath y CSS

  • 👨🏻‍🎓 Locators y consejos
  • 📝 Cheatsheet para construir buenos locators con XPath y CSS
  • 🧑🏻‍💻 Actividad: Dominando Locators con XPath y CSS

Selenium WebDriver: La librería para interactuar con elementos de una página web.

  • 🏃🏽‍♂️‍➡️ La BasePage: La columna vertebral de nuestro framework.
  • 🧹 Limpiando el browser después de ejecutar pruebas
  • 💬 Llenando campos de texto: La función sendKeys() de Selenium
  • 🧠 Dropdowns con Selenium: El objeto Select
  • 👩🏻‍💻 Navegando a todos los links con un solo locator3
  • 🪲 Creando un nuevo scenario y Page Object Classes2
  • 🦀 Scenario 2 El usuario puede elegir un plan al suscribirse
  • 🤖 Cuestionario módulo Selenium
  • ☕️ Actividad: Interactuando con Elementos Usando Selenium WebDriver

Assertions: Validando comportamiento esperado

  • ✓ Nuestra primera validación: Todos los elementos de un dropdown2
  • 🔍 Tipos de Assertions con TestNG
  • 🤖 Las Soft Assertions: Una parte muy conveniente de la librería TestNG
  • 🦸🏻‍♂️ Cuestionario módulo Assertions
  • 👾 Actividad: Validación de Comportamiento Usando Assertions

Cucumber avanzado: Tags, parámetros y mejores prácticas

  • 😱 Tags en Cucumber3
  • 🧛🏻‍♀️ Backgrounds en Cucumber
  • 😇 Expresiones para mejorar nuestros Feature Files
  • ✋🏻 Expresiones regulares parte 2
  • 💪🏻 Actividad: Organizando Escenarios con Tags en Cucumber

Generación de Reportes con Cucumber

  • 🧑🏼‍🔬 Reportes en Cucumber4
  • 📸 Como agregar screenshots de la falla a nuestro reporte
  • 💻 Cuestionario para el módulo de Cucumber avanzado
  • 🤩 Actividad: Generación de Reportes con Cucumber

Ejercicios aplicando lo aprendido

  • 🦸🏻‍♂️ Entrevista Automation: ¿Cómo resolvemos un ejercicio REAL de Selenium Webdriver?1
  • 🧞 Exámen técnico de Automation con Selenium, Java y Cucumber resuelto y explicado.3
  • Actividad Final: Reflexiona y Comparte Tu Aprendizaje en Testing Automatizado

Dejá tu testimonio inmortalizado en la web

  • 🙏🏻 Testimonio