Problem
Ich bin eine Reihe von automatisierten Tests erstellen, die einen Benutzernamen und ein Passwort benötigen gegeben werden, um die Anwendung anzumelden, getestet werden. Ich habe eine Funktion LogOnToApplication(string username, string password)
, die die Anmeldeinformationen als Zeichenfolgen annimmt und sich bei der Anwendung anmeldet. Derzeit bin ich die zwei Zeichenketten als solche:sicher speichert Benutzerdaten (Benutzername/Passwort-Kombi) für den Einsatz in automatisierten Tests
string username = "username";
string password = "supersecretpassword";
Und mit
meiner Funktion übergeben gut für den Zweck meiner Testsutilities.LogOnToApplication(username, password);
Dies funktioniert, aber ich weiß, dass dies auf diese Weise tun ist riskant und unsicher. Diese Tests sind weit verbreitet, und das Setzen meiner Tests auf diese Weise könnte leicht zu einer Sicherheitsverletzung führen.
Frage
Was ist die beste Methode, um die username
und password
Strings aus meinem Code zu entfernen? Ich habe darüber nachgedacht, eine separate Datei zu erstellen, in der diese Informationen gespeichert werden, und aus der Datei zu ziehen, wenn die Informationen benötigt werden, aber das löst das Problem nicht wirklich, es verschiebt nur die vertraulichen Informationen.
Verwenden Sie eine Art von Verschlüsselung für Ihre Zeichenfolgen. Das ist der einfachste und sicherste Weg. – lokusking
Wenn Sie die Tests weitgehend verteilen, benötigt jeder, der sie ausführen möchte, den Benutzernamen und das Passwort. Nicht unbedingt im Klartext, aber das Programm wird sie brauchen, und Sie können sie rückentwickeln. – elyashiv
Verwandeln Sie Ihre Server in Docker-Images und starten Sie sie, bevor Sie Ihre automatisierten Tests ausführen, und stoppen Sie sie, wenn Sie fertig sind. So spielt es in der Entwicklungsumgebung keine Rolle, ob Passwörter ... –