Puedes cambiar la función DadoTecleoLosSiguientesDatosDelUsuario para tomar el password de acuerdo al nombre del usuario con el siguiente código
[Given(@"Tecleo los siguientes datos del usuario (.*)")]
public void DadoTecleoLosSiguientesDatosDelUsuario(string usuario)
{
login.Usuario = usuario;
string pass = Environment.GetEnvironmentVariable(usuario.ToUpper());
login.Password = pass;
}
También debes agregar las variables de ambiente a Azure Devops, Github o tu herramienta de CI/CD. En Azure devops si la variable es Secret debes agregarla en el step de integration test.
Para practicar puedes cambiar el escensario de Login con un usuario
Un ejemplo sería el siguiente:
Login.feature
# language: esCaracterística: LoginDado que ya existen los siguientes usuarios: Usuario Nombre Carlos Carlos Hernández Maria Maria Lopez Juan Juan Peréz@LoginEscenario: Login con un usuarioDado Que Existe un usuario con la clave CarlosCuando Yo ejecuto el servicio Usuarios/Login Entonces Obtengo el nombre Carlos HernándezEscenario: Login con usuarios en TablaDado Tecleo los siguientes datos del usuarioCuando Yo ejecuto el servicio Usuarios/LoginEntonces Obtengo el nombre <Nombre>Ejemplos: | Usuario | Nombre | | Maria | Maria Lopez | | Juan | Juan Peréz |
Puedes generar los pasos y comparar con mi solución en github.