Lenguaje Gherkin: formato, sintaxis y prueba de Gherkin en Cucumber

ยฟQuรฉ es el lenguaje pepinillo?

Pepinillo Es un lenguaje legible para empresas que le ayuda a describir el comportamiento empresarial sin entrar en detalles de implementaciรณn. Es un lenguaje especรญfico del dominio para definir pruebas en Cucumber Formato para especificaciones. Utiliza lenguaje sencillo para describir casos de uso y permite a los usuarios eliminar detalles lรณgicos de las pruebas de comportamiento.

El texto en idioma Gherkin actรบa como documentaciรณn y esqueleto de sus pruebas automatizadas. El formato Gherkin se basa en TreeTop Grammar, que existe en mรกs de 37 idiomas. Por lo tanto, puedes escribir tu pepinillo en mรกs de 37 idiomas hablados.

Este script tiene dos propรณsitos principales:

  • Escenarios de usuario de documentos
  • Escribir una prueba automatizada (BDD)

ยฟPor quรฉ pepinillo?

La necesidad de Gherkin se puede explicar fรกcilmente con las siguientes imรกgenes

Antes del pepinillo

Antes del pepinillo

Despuรฉs del pepinillo

Despuรฉs del pepinillo

Sintaxis de pepinillo

Gherkin es un lenguaje orientado a lรญneas como YAML y Python. Cada lรญnea se llama paso y comienza con una palabra clave y finaliza con una parada. Se utilizan tabuladores o espacios para la sangrรญa.

En este script, se puede agregar un comentario en cualquier lugar que desee, pero debe comenzar con un signo #. Leyรณ cada lรญnea despuรฉs de eliminar las palabras clave de Ghrekin como se indica, cuรกndo, entonces, etc.

Los pasos tรญpicos de Gherkin parecen

Gherkin Scripts: conecta el concepto humano de causa y efecto con el concepto de software de entrada/proceso/salida.

Sintaxis de pepinillo

Feature: Title of the Scenario
Given [Preconditions or Initial Context]
When [Event or Trigger]
Then [Expected output]

Un documento Gherkin tiene una extensiรณn .feature y simplemente un archivo de prueba con una extensiรณn elegante. Cucumber lee el documento Gherkin y ejecuta una prueba para validar que el software se comporta segรบn la sintaxis de Gherkin.

Tรฉrminos importantes utilizados en Gherkin

  • Caracterรญstica
  • Fondo
  • Guiรณn
  • Dado que los
  • Al
  • Entonces
  • Y
  • Pero
  • Ejemplos de esquemas de escenarios

La convenciรณn de nomenclatura se utiliza para el nombre de la funciรณn. Sin embargo, no hay reglas establecidas en Cucumber sobre nombres.

Caracterรญstica

El archivo debe tener la extensiรณn .feature y cada archivo de caracterรญsticas debe tener solo una caracterรญstica. La palabra clave de la caracterรญstica estarรก con la Caracterรญstica: y despuรฉs de agregar, se escribirรก un espacio y el nombre de la caracterรญstica.

Guiรณn

Cada archivo de caracterรญsticas puede tener mรบltiples escenarios y cada escenario comienza con Escenario: seguido del nombre del escenario.

Fondo

La palabra clave de fondo le ayuda a agregar algo de contexto al escenario. Puede contener algunos pasos del escenario, pero la รบnica diferencia es que debe ejecutarse antes de cada escenario.

Dado que los

El uso de la palabra clave dada es poner el sistema en un estado familiar antes de que el usuario comience a interactuar con el sistema. Sin embargo, puede omitir escribir las interacciones del usuario en los pasos dados si se dan en el paso "Condiciรณn previa".

Sintaxis:

Given
Given - a test step that defines the 'context
Given I am on "/."

Al

Cuando el paso es definir acciรณn realizada por el usuario.

Sintaxis:

When
A When - a test step that defines the 'action' performed
When I perform "Sign In."

Entonces

El uso de la palabra clave "entonces" es para ver el Resultado despuรฉs de la acciรณn en cuando paso. Sin embargo, sรณlo puedes verificar cambios notables.

Sintaxis:

 Then
Then - test step that defines the 'outcome.'
Then I should see "Welcome Tom."

Y pero

Es posible que tenga varios datos cuando o Entonces.

Sintaxis:

But
A But - additional test step which defines the 'action' 'outcome.'
But I should see "Welcome Tom."
And - additional test step that defines the 'action' performed
And I write  "EmailAddress" with "Tomjohn@gmail.com."

Dado, Cuรกndo, Entonces y pero son pasos de prueba. Puedes usarlos indistintamente. El intรฉrprete no muestra ningรบn error. Sin embargo, seguramente no tendrรกn ningรบn โ€œsentidoโ€ cuando se lean.

Tรฉrminos importantes utilizados en Gherkin
Tรฉrminos importantes utilizados en Gherkin
Given The login page is opening
When I input username, password and click the Login button 
Then I am on the Homepage

Ejemplos de pepinillos

Ejemplo 1:

Feature:  Login functionality of social networking site Facebook. 
Given:  I am a facebook user. 
When: I enter username as username. 
And I enter the password as the password 
Then I should be redirected to the home page of facebook 

El escenario mencionado anteriormente se refiere a una funciรณn llamada inicio de sesiรณn de usuario.

Gherkin analizarรก cada paso escrito en el archivo de definiciรณn de pasos. Por lo tanto, los pasos se dan en el archivo de caracterรญsticas y el archivo de definiciรณn de pasos debe coincidir.

Ejemplo 2:

Feature: User Authentication Background:
Given the user is already registered to the website Scenario:
Given the user is on the login page
When the user inputs the correct email address
And the user inputs the correct password
And the user clicks the Login button
Then the user should be authenticated
And the user should be redirected to their dashboard
And the user should be presented with a success message 

Mejores prรกcticas de uso de Gherkin

  • Cada escenario debe ejecutarse por separado.
  • Cada caracterรญstica deberรญa poder ejecutarse junto
  • La informaciรณn de los pasos debe mostrarse de forma independiente.
  • Conecte sus escenarios con sus requisitos
  • Mantenga un seguimiento completo de quรฉ escenarios deben incluirse en un documento de requisitos
  • Cree pasos modulares y fรกciles de entender.
  • Intenta combinar todos tus escenarios comunes.

Ventajas del pepinillo

  • Gherkin es lo suficientemente simple como para que lo entiendan los no programadores
  • Los programadores pueden utilizarlo como una base muy sรณlida para iniciar sus pruebas.
  • Hace que las Historias de usuarios sean mรกs fรกciles de digerir
  • La escritura de Gherkin puede ser fรกcilmente comprendida por ejecutivos y desarrolladores de negocios.
  • Gherkin Testing se enfoca en los requisitos comerciales
  • Una proporciรณn significativa de las especificaciones funcionales estรก escrita como historias de usuario.
  • No es necesario ser un experto para comprender el pequeรฑo conjunto de comandos de Gherkin
  • Los casos de prueba de Gherkin vinculan las pruebas de aceptaciรณn directamente con las pruebas automatizadas
  • El estilo de escritura de casos de prueba hace que sea mรกs fรกcil reutilizar el cรณdigo en otras pruebas.

Desventajas del pepinillo

  • Requiere un alto nivel de compromiso y colaboraciรณn empresarial.
  • Puede que no funcione bien en todos los escenarios
  • Las pruebas mal escritas pueden aumentar fรกcilmente el costo de mantenimiento de las pruebas

Resumen

  • Gherkin es el formato para las especificaciones del pepino.
  • Gherkin es un lenguaje orientado a lรญneas como YAML y Python
  • Gherkin Scripts conecta el concepto humano de causa y efecto con el concepto de software de entrada/proceso y salida.
  • Caracterรญstica, fondo, escenario, dado, cuรกndo, entonces y pero se utilizan de manera importante en Gherkin
  • En Gherkin, cada escenario debe ejecutarse por separado.
  • La mayor ventaja de Gherkin es lo suficientemente simple como para que la comprendan los no programadores.
  • Es posible que la prueba Gherkin no funcione bien en todos los tipos de escenarios

Resumir este post con: