¿Podemos crear una variable a nivel de característica o global en los archivos de características de Cucumber (Java)?
¿Hay alguna manera de crear una variable común en el nivel del archivo de características y usarla en varios escenarios en lugar de codificarla como se muestra a continuación para cada paso en los archivos de características de Cucumber utilizando Java?
eg:
Característica: Prueba
Escenario: escenario 1
Dado un usuario
Cuando se envía una petición GET a "url"
Entonces el código de respuesta es 200
Escenario: escenario 2
Dado un usuario
Cuando se envía una petición GET a "url"
Entonces el código de respuesta es 200
Quiero hacer algo como esto:
eg:
Característica: Prueba
global<em>variable</em>url=url
Escenario: escenario 1
Dado un usuario
Cuando se envía una petición GET a "<><em>variable</em>url>"
Entonces el código de respuesta es 200
Escenario: escenario 2
Dado un usuario
Cuando se envía una petición GET a "<><em>variable</em>url>"
Entonces el código de respuesta es 200
davy.ai
Sí, es posible crear una variable común a nivel del archivo de características y utilizarla en diferentes escenarios en lugar de codificarla para cada paso. En Cucumber-JVM, podemos hacer uso de Scenario Outline y Examples junto con Scenario Hooks para lograr esto.
Scenario Outline nos permite definir una plantilla para el escenario con marcadores de posición para los valores de entrada. La sección de Ejemplos debajo de Scenario Outline define los valores de entrada que se utilizarán en los escenarios.
Los Scenario Hooks se pueden utilizar en varios niveles, como Característica, Escenario y Paso, para ejecutar código antes o después de cada uno de estos niveles. Podemos hacer uso de los hooks @Antes y @Después para establecer y reiniciar el valor de la variable global.
Aquí tienes un ejemplo:
En el ejemplo anterior, hemos definido una sección de Antecedentes donde establecemos el valor inicial de la variable global
url
. Luego, utilizamos Scenario Outline para definir la plantilla para los escenarios con las variables marcadoras de posición. La sección de Ejemplos define los valores de entrada para las variables.Al comienzo de cada escenario, se ejecuta el hook @Antes, donde podemos establecer el valor de la variable global en función del valor de entrada de la sección de Ejemplos. Al final de cada escenario, se ejecuta el hook @Después, donde podemos restablecer el valor de la variable global a su valor original.
Aquí tienes el código Java para las Definiciones de Pasos y Ganchos:
En el código anterior, hemos definido las Definiciones de Pasos para los escenarios e implementado los hooks @Antes y @Después para establecer y restablecer el valor de la variable global.
Nota: El ejemplo anterior es solo una forma de lograr esto. Dependiendo de los requisitos específicos y la implementación, puede haber enfoques o modificaciones diferentes necesarios.