12.6.2 Pasando tablas a nuestras pruebas

Si deseas pasar varios valores en un solo paso puedes crear una tabla, en tu archivo feature en el paso agregas una tabla con 2 columnas, para la tabla separadas con pipe, el primer renglón defines los nombres de los campos de la tabla y después puedes agregar un renglón con los datos. Después agregas un renglón por cada campo que deseas agregar.

Luego puedes utilizar el nombre de la columna entre <nombre_columna> para obtener el valor en un step.

LoginFeature
Escenario: Login con usuarios en Tabla
	Dado Tecleo los siguientes datos del <Usuario>
	Cuando Yo ejecuto el servicio Usuarios/Login
	Entonces Obtengo el nombre <Nombre>

Ejemplos: 
    | Usuario		| Nombre	|
    | Maria		| Maria Lopez	|
    | Juan		| Juan Peréz	|

Para esto agregaremos un nuevo escenario, copia el código del Escenario anterior y en vez de pasar el usuario y contraseña en 2 pasos lo haremos en un solo paso

Agregaremos el paso nuevo, dando clic con el botón derecho del mouse y ahora seleccionamos el paso faltante y damos clic en el botón Copy methods to clipboard.

Esto nos copia el código al portapapeles y simplemente lo pegamos en nuestro archivo LoginSteps.

Después puedes enlazar los datos de tu tabla a una clase en C#, el parámetro es un objeto de la clase Table y listo lo puedes asignar directamente.

[Given(@"Tecleo los siguientes datos del (.*)")]
public void DadoTecleoLosSiguientesDatosDelUsuario(string usuario)
{
    login.Usuario = usuario;
    if (usuario == "Maria")
        login.Password = "8cYyY8paESGbzC5E";
    else
        login.Password = "zUvyvsRSCMek58eR";
}

Puedes probar los 2 escenarios para comprobar que todo funciona correctamente.

Se te creara un test por cada renglón de la tabla.

Last updated