12.6.3 Agregar los passwords como variables de ambiente
Se considera también una buena practica no exponer los passwords o token en código, se tienen algunas opciones para almacenar los passwords:
Variables de ambiente.
Azure Key Vault.
Utilizando variables de ambiente
Puedes agregar variables de ambiente en Visual Studio, agregaremos 3 una para cada usuario con el nombre JUAN, CARLOS, MARIA.
Para utilizar las variables de ambiente en el código con la función:
Environment.GetEnvironmentVariable(nombre_variable) 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.
- task: DotNetCoreCLI@2
displayName: Testing Integration Test
inputs:
command: 'test'
projects: '**/CaducaRest.IntegrationTest/*.csproj'
arguments: '--configuration $(buildConfiguration) /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura /p:CoverletOutput=$(Build.SourcesDirectory)/TestResults/Coverage/'
publishTestResults: true
testRunTitle: 'Integration Test'
env:
CARLOS: $(CARLOS)
JUAN: $(JUAN)
MARIA: $(MARIA)Para practicar puedes cambiar el escensario de Login con un usuario
Un ejemplo sería el siguiente:
Puedes generar los pasos y comparar con mi solución en github.
Last updated
Was this helpful?