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: es
Característica: Login
Dado que ya existen los siguientes usuarios:
Usuario Nombre
Carlos Carlos Hernández
Maria Maria Lopez
Juan Juan Peréz
@Login
Escenario: Login con un usuario
Dado Que Existe un usuario con la clave Carlos
Cuando Yo ejecuto el servicio Usuarios/Login
Entonces Obtengo el nombre Carlos Hernández
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 |
Puedes generar los pasos y comparar con mi solución en github.