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 TablaDado Tecleo los siguientes datos del <Usuario>Cuando Yo ejecuto el servicio Usuarios/LoginEntonces 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 (.*)")]publicvoidDadoTecleoLosSiguientesDatosDelUsuario(stringusuario){login.Usuario=usuario;if(usuario=="Maria")login.Password="8cYyY8paESGbzC5E";elselogin.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.