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
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.

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


