¿Qué es el idioma de Gherkin?
Pepinillo Es un lenguaje empresarial legible que le ayuda a describir el comportamiento empresarial sin aplicar datos. Es un lenguaje específico de dominio para definir pruebas en formato Cucumber para especificaciones. Utiliza un lenguaje sencillo para describir casos de uso y permite a los usuarios extraer datos lógicos de pruebas de comportamiento.
El texto en idioma Gherkin sirve como documentación y como esqueleto para pruebas automatizadas. El formato de Gherkin se basa en TreeTop Grammar, que está disponible en más de 37 idiomas. Por lo tanto, puede escribir su pepinillo en más de 37 idiomas hablados.
Este script tiene dos propósitos principales:
- Documentar casos de usuarios
- Escribe una prueba automatizada (BDD)
En este tutorial de pepinillo, aprenderá
¿Por qué Gherkin?
La necesidad de pepinillo se puede explicar fácilmente con las siguientes imágenes.
Antes de pepinillo
Después de pepinillo
Sintaxis Gherkin
Gherkin es un lenguaje orientado a líneas como YAML y Python. Cada línea comienza con un paso y comienza con una palabra clave y termina con una parada. Se utiliza una tabulación o un espacio para la sangría.
En este script, puede comentar en cualquier lugar que desee, pero debe comenzar con un signo #. Lee cada línea después de eliminar las llamadas palabras clave de Grekin, cuándo, entonces, etc.
Los pasos típicos del pepinillo son similares:
Gherkin Scripts: conecta el concepto humano con causa y efecto con el concepto de entradas / procesos / salidas.
Sintaxis de pepinillo:
Feature: Title of the Scenario Given [Preconditions or Initial Context] When [Event or Trigger] Then [Expected output]
El documento Gherkin contiene una extensión .feature y es solo un archivo de prueba con una extensión elegante. Cucumber lee el documento de Gherkin y lo prueba para validar que el software se comporta de acuerdo con la sintaxis de Gherkin.
Términos importantes utilizados en pepinillo
- Característica
- Fondo
- Caso
- Dado
- Cuándo
- Luego
- Y
- Pero
- Ejemplos de esquemas de casos
La convención de nomenclatura se utiliza para el nombre de una función. Sin embargo, no hay reglas establecidas en Cucumber sobre los nombres.
Característica:
El archivo debe tener una extensión .feature y cada archivo de características debe tener solo una característica. La palabra clave de la función está con la función: después de lo cual se agregará, se escribirán el espacio y el nombre de la función.
Caso:
Cada archivo de características puede contener varios escenarios, y cada escenario comienza con Escenario: seguido del nombre del escenario.
Fondo:
Una palabra clave de fondo le ayuda a agregar algo de contexto al caso. Puede ser varias etapas del caso, pero la única diferencia es que debe pasarse antes de cada caso.
Dado:
El uso de la palabra clave Given es poner el sistema en un estado familiar antes de que el usuario comience a interactuar con el sistema. Sin embargo, puede omitir las interacciones del usuario en determinados pasos si se le indica en el paso «Precondición».
Sintaxis:
Given
Given - a test step that defines the 'context Given I am on "/."
Cuándo:
Cuando el paso es una acción definida por el usuario.
Sintaxis:
When
A When - a test step that defines the 'action' performed When I perform "Sign In."
Luego:
El uso de la palabra clave ‘entonces’ es el resultado después de la acción en cuándo dar el paso. Sin embargo, solo puede realizar cambios significativos.
Sintaxis:
Then
Then - test step that defines the 'outcome.' Then I should see "Welcome Tom."
Y pero
Es posible que haya dado múltiplos de Cuándo 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 "This email address is being protected from spambots. You need JavaScript enabled to view it.."
Dado, cuándo, entonces y, pero son pasos de prueba. Puede usarlos indistintamente. El intérprete no muestra ningún error. Sin embargo, ciertamente no tienen ningún «sentido» cuando se leen.
Términos importantes utilizados en pepinillo
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 caso mencionado anteriormente es de una función llamada inicio de sesión de usuario.
Todas las palabras escritas en negrita son palabras clave Gherkin.
Gherkin analizará cada paso escrito en el archivo de definición de grado. Por lo tanto, los pasos se dan en el archivo de características y el archivo de definición de fase debe ser compatible.
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 para usar Gherkin
- Cada caso debe ejecutarse por separado
- Todas las funciones también deben ejecutarse
- La información de grado debe mostrarse de forma independiente
- Conecte sus casos a sus necesidades
- Esté atento a los casos que deben incluirse en un documento de requisitos
- Cree pasos modulares y fáciles de entender
- Intente juntar todos sus escenarios comunes
Ventajas del pepinillo
- Gherkin es lo suficientemente simple para que los no programadores lo entiendan
- Los programadores pueden usarlo como una base muy sólida para comenzar sus pruebas.
- Hace que las historias de usuario sean más fáciles de digerir
- Los ejecutivos y desarrolladores de negocios pueden comprender fácilmente el guión de Gherkin.
- La prueba de pepinillo se centra en las necesidades comerciales
- Una parte importante de las especificaciones funcionales están escritas como historias de usuario.
- No es necesario ser un experto para comprender el pequeño conjunto de comandos de Gkinkin
- Los casos de Gherkin Test vinculan las pruebas de aceptación directamente con las pruebas automatizadas
- Es más fácil reutilizar casos de estilo de escritura en otras pruebas.
Desventajas del pepinillo
- Requiere un alto nivel de participación y colaboración empresarial
- Puede que no funcione bien en todos los casos
- Las pruebas mal escritas pueden aumentar fácilmente el costo de mantenimiento de la prueba
Resumen:
- El pepinillo es el formato para las especificaciones del pepino.
- Gherkin es un lenguaje orientado a líneas como YAML y Pitón
- Gherkin Scripts vincula el concepto humano de causa y efecto con el concepto de entradas / procesos y salidas
- Característica, Fondo, Caso, Dado, Cuándo, Luego y Pero se usa de manera importante en Gerkin
- En Gherkin, cada caso debe ejecutarse por separado
- La principal ventaja de Gherkin es lo suficientemente simple para que los no programadores las entiendan.
- Es posible que la prueba de pepinillo no funcione bien en todo tipo de situaciones