Ich muss in der Lage sein, die gleichen Tests in verschiedenen Umgebungen (max. 3), aber mit unterschiedlichen Daten für jeden durchzuführen.Testen mehrerer Umgebungen mit unterschiedlichen Daten - Best Practice
Ich habe eine Testmethode:
@Test (groups = "core", description = "Login: Valid log in")
public void validLogin() {
User user = UserData.user_2();
loginPage.logOn(user);
}
In der Userdata-Klasse I haben:
public static User user_2() {
return new User().newUser("user2", "password");
}
"user2" nicht auf allen Umgebungen existieren. Ich bin möglicherweise nicht in Lage, die Daten zu ändern, die in allen Umgebungen verfügbar sind, um den Testdaten zu entsprechen.
Die Tests werden entweder mit Maven und TestNg ausgeführt, damit ich den Parameter für die Ausführungsumgebung einsenden kann.
Mein erster Gedanke ist zu verwenden:
public static User user_2() {
switch(env) {
case "env1": return new User().newUser("user2", "password"); break;
case "env2": return new User().newUser("user2Z", "password"); break;
case "env3": return new User().newUser("user2X", "password"); break;
}
ich eine begrenzte Anzahl von Datenklassen und Methoden (< 100), aber mehrere tausend Tests.
Was ist der beste Weg, um die für die verschiedenen Umgebungen erforderlichen Daten einzurichten und zu verarbeiten?
Bevor Sie sich die Mühe machen, solch eine seltsame Anforderung zu implementieren, könnten Sie vielleicht teilen, warum Sie das versuchen. Und dann helfen wir Ihnen, einen besseren Ansatz zu finden. –