Crea tu primero Cucumber Guión (2 ejemplos)

⚡ Resumen inteligente

Cucumber La ejecución de scripts le ayuda a convertir escenarios Gherkin en lenguaje sencillo en pruebas automatizadas ejecutables mediante archivos de definición de pasos, lo que permite a los equipos validar el comportamiento, compartir la intención entre las partes interesadas y entregar proyectos confiables basados ​​en BDD. Cucumber or Cucumber-JVM.

  • ???? Información básica sobre los pepinillos: Los archivos de características describen escenarios con una sintaxis de tipo Dado-Cuando-Entonces que tanto los evaluadores como los equipos de negocio pueden leer.
  • 📝 Definiciones de los pasos: Cada paso de Gherkin se corresponde con un bloque de código escrito en Ruby, Javao cualquier otro idioma compatible.
  • ⚙️ Configuración del proyecto: RubyMine o cualquier IDE puede alojar la carpeta features, la carpeta step_definitions y la configuración del ejecutor.
  • Dos ejemplos: Un escenario de multiplicación y un GuruEl escenario de inicio de sesión de demostración 99 muestra la ejecución BDD de extremo a extremo.
  • 🧪 Versiones modernas: Cucumber-JVM 7.x y Cucumber Ruby 9.x sigue siendo la versión estable actual que se utiliza en todos los pipelines de CI.

Cucumber Script

En este tutorial, crearás Cucumber Scripts para probar dos escenarios utilizando la sintaxis Gherkin y archivos de definición de pasos. Cucumber Es un marco de trabajo BDD popular que conecta archivos de características en lenguaje natural con código de prueba ejecutable para que los analistas de negocio y los desarrolladores puedan colaborar en las mismas especificaciones.

Cucumber Guión 1: Multiplica 2 Numbers

En este primero Cucumber Por ejemplo, escribirás un archivo Feature simple que multiplique dos números y luego crearás un archivo Step Definition correspondiente en Ruby. El mismo flujo de trabajo se aplica si utilizas Cucumber-JVM 7.x con Java o Kotlin en IntelliJ IDEA.

Paso 1) Abra el editor RubyMine a través del Windows menu de inicio.

Cucumber Guión: Multiplicar 2 Numbers

Paso 2) En el editor de RubyMine, haga clic en Crear nuevo proyecto.

Cucumber Guión: Multiplicar 2 Numbers

Paso 3) Seleccione la ubicación del proyecto y haga clic en "Crear".

Cucumber Guión: Multiplicar 2 Numbers

Paso 4) Crea un directorio de archivos dentro de la raíz del proyecto para tus archivos de características.

Cucumber Guión: Multiplicar 2 Numbers

Paso 5) Nombra el directorio como "Características". Cucumber escaneará esta carpeta automáticamente.

Cucumber Guión: Multiplicar 2 Numbers

Paso 6) Crea y guarda el archivo en “tucarpeta/características/” con el nombre “tuarchivo.característica”.

Haga clic en aquí si el video no es accesible

Cucumber Guión: Multiplicar 2 Numbers

Cucumber Guión: Multiplicar 2 Numbers

Paso 7) Para ejecutar el escenario, guarda el siguiente programa en el archivo Feature. Observa cómo las palabras clave de Gherkin, como Feature, Scenario, Given, When y Then, describen el comportamiento de la prueba.

Cucumber Guión: Multiplicar 2 Numbers

Code:

Feature: Multiplication 
  I multiply two numbers 
	Scenario: multiply a and b 
	  Given I have variable a 
	  And I have variable b 
      When I multiplication a and b 
      Then I display the Result

Paso 8) Ahora ejecuta tu primer archivo Feature.

Haz clic en “Iniciar el símbolo del sistema con Ruby”.

Cucumber Guión: Multiplicar 2 Numbers

El resultado que recibirá se muestra a continuación.

Cucumber Guión: Multiplicar 2 Numbers

Aparecerá un error porque debe escribir un archivo de definición de pasos que coincida con el archivo de características.

Paso 9) Cree un archivo de definición de pasos para su archivo de características.

Crea una nueva carpeta en el editor RubyMine llamada “step_definition”.

Cucumber Guión: Multiplicar 2 Numbers

Cucumber Guión: Multiplicar 2 Numbers

Paso 10) Guarda el archivo en “tucarpeta/características/step_definitions” con el nombre test_step.rb.

Cucumber Guión: Multiplicar 2 Numbers

Cucumber Guión: Multiplicar 2 Numbers

Paso 11) Escriba el siguiente código en el archivo de definición de pasos. Cada bloque se corresponde con un paso de Gherkin del archivo de características.

Cucumber Guión: Multiplicar 2 Numbers

Code :

Given(/^I have variable a$/) do 
  @a = 50
end

And(/^I have variable b$/) do 
  @b = 70 
end

When(/^I multiplication a and b$/) do 
  @mul = @a * @b
end

Then(/^I display the Result$/) do 
  puts "Multiplication of #{@a} and #{@b} is #{@mul}"
end

Paso 12) Ejecuta de nuevo el archivo de características.

Cucumber Guión: Multiplicar 2 Numbers

El resultado se muestra a continuación.

Cucumber Guión: Multiplicar 2 Numbers

Cucumber Script 2: Verificar la salida cuando se ingresa o no la dirección de correo electrónico

En este segundo ejemplo, utilizarás Ruby con Watir para controlar un navegador y validar dos escenarios de registro en el Guru99 sitios de demostración. Los mismos patrones se aplican si adopta Cucumber-JVM 7.x con Selenium WebDriver y Java.

En este ejemplo usamos Rubí.

Escenario de prueba: Verificar la salida cuando NO se ingrese la dirección de correo electrónico.

Pasos de prueba:

  1. Navegador abierto
  2. Para ir https://demo.guru99.com/
  3. Do No Ingrese su ID de correo electrónico
  4. Haga clic en Enviar

Escenario de prueba: Verificar la salida cuando se ingrese la dirección de correo electrónico.

Pasos de prueba:

  1. Navegador abierto
  2. Para ir https://demo.guru99.com/
  3. Ingrese la identificación de correo electrónico
  4. Haga clic en Enviar

Code En el archivo de características:

Feature: guru99 Demopage Login
To Login in Demopage we have to enter login details
Scenario: Register On Guru99 Demopage without email
Given I am on the Guru99 homepage
When enter blank details for Register
Then error email shown
Scenario: Register On Guru99 Demopage with valid email
Given I am on the Guru99 homepage
When enter details for Register
Then login details shown

Code En el archivo de definición de pasos:

require 'watir-webdriver'

require 'colorize'

browser = Watir::Browser.new

Given (/^I am on the Guru99 homepage$/)do

browser.goto "https://demo.guru99.com"

end

When (/^enter blank details for Register$/)do

browser.text_field(:name,"emailid").set(" ")

browser.button(:name,"btnLogin").click

end

Then (/^error email shown$/)do

puts " Email is Required".red

browser.close

end

When (/^enter details for Register$/)do

browser = Watir::Browser.new

browser.goto "https://demo.guru99.com"

browser.text_field(:name,"emailid").set("<a href="mailto:guru99@gmail.com">guru99@gmail.com</a>")

browser.button(:name,"btnLogin").click

end

Then (/^login details shown$/)do

puts " Sucessfully register"

browser.close

end

Ejecuta el código en la línea de comandos y verás la siguiente salida.

Verificar la salida cuando se ingresa o no la identificación del correo electrónico

Preguntas Frecuentes

Un archivo Feature es un archivo de texto plano con la extensión .feature que utiliza la sintaxis Gherkin para describir una característica de la aplicación. Agrupa escenarios relacionados, escritos con pasos Given, When y Then, para que las partes interesadas no técnicas puedan leer y validar el comportamiento junto con los desarrolladores.

Cada paso de Gherkin es solo texto. Cucumber necesita una definición de paso que asigne el paso a código ejecutable en Ruby, Javao en otro idioma. Sin ese mapapingEl ejecutor informa de pasos indefinidos y el escenario no logra ejecutar la lógica prevista.

Cucumber-JVM 7.x es la línea estable actual y se recomienda para nuevos Java y proyectos Kotlin. Cucumber Ruby 9.x sigue siendo la opción moderna para los equipos de Ruby. Ambas versiones son compatibles JUnit 5, ejecución en paralelo y filtrado basado en etiquetas para pipelines de CI.

Los asistentes de IA analizan historias de usuario, criterios de aceptación y defectos históricos para elaborar escenarios Gherkin en formato Dado-Cuando-Entonces. Sugieren casos límite, rutas alternativas y etiquetas para que los equipos BDD abarquen más comportamientos sin tener que dedicar horas a escribir manualmente cada archivo de características.

Sí. Las herramientas de IA leen archivos de características, hacen coincidir cada paso de Gherkin con el código existente y generan nuevos métodos de definición de pasos en Ruby o JavaGeneran código repetitivo, expresiones regulares para parámetros y funciones auxiliares de aserción para que los desarrolladores solo tengan que refinar la lógica de negocio en lugar de escribir manualmente cada función de conexión.

Resumir este post con: