2017-03-21 4 views
-1

DataSheetWelche Design-Muster sollte ich verwenden, wenn ich möchte, dass meine Tests für verschiedene Länder

Hallo, laufen

Ich schaffe Testmethoden, wo ich muss das Land, Art des Produkts weitergeben und andere Kombinationen von Adressen, wo ich Billing und Firmenadresse

Ich habe für 4 verschiedene Länder testen und jedes Land hat ihren eigenen einzigartigen Fluss. Daher habe ich separate PageObjects für die verschiedenen Länder.

Zum Beispiel AUPageObject, FRPageObject und CAPageObject Java-Klassen-Dateien.

Aber einige Locators und Validierungsnachrichten sind für die verschiedenen Länderflüsse gleich. Also denke ich, dass ich eine Superklasse erstellen werde, in die ich alle gewöhnlichen Seitenobjekte in dieser Superklasse legen kann. Ist das eine gute Idee?

Zum Beispiel:

public USPageObject extends AllCountryPageObject { 
} 

Ich habe auch alle Länder zu testen, wo sie zwei verschiedene Produkttypen kaufen können (ein Testprodukt oder jetzt kaufen Produkt). Das muss ich mit unterschiedlicher Kombination testen, wo ich die Möglichkeit habe die Firmenadresse zu füllen oder nicht zu füllen. Dann mit verschiedenen Kreditkartenarten.

Was ist das beste Testdesignmuster, das ich verwenden sollte? Soll ich zum Beispiel einen Überladungskonstruktor erstellen? Irgendwelche Vorschläge würden sehr helfen.

public methodName (newCountry(CountryName), newCardType(Card), boolean isCompanyPopulated, new productType(product)) 
{ 

} 
+0

Ist die Seitenstruktur für verschiedene Länder unterschiedlich? Meine Vermutung ist, dass es nicht ist. Wenn dies der Fall ist, möchten Sie keine verschiedenen Seitenobjekte für jedes Land. Sie hätten ein Seitenobjekt pro Seite und das Skript selbst könnte je nach Land unterschiedlich sein, wenn der Ablauf anders ist. – JeffC

Antwort

-1

Ich würde vorschlagen, dass Sie Ihre generischen Tests in eine separate Klasse mit einer Methode für jeden generischen Test abstrahieren. Wenn Sie dann den Test durchlaufen, rufen Sie den generischen Test x auf, der dann die Duplizierung generisch redundanter Elemente verhindert. Je nachdem, ob der Test bestanden oder fehlgeschlagen ist, können Sie immer ein Wahr/Falsch zurückgeben, so dass er auf der Ebene des übergeordneten Tests angezeigt wird.

Auf diese Weise können Sie Ihre Seitenframework-Architektur im Takt halten, aber es gibt einmalige Generika, die unabhängig von der Seitenstruktur von allen Tests im Framework wiederverwendet werden. Dann importieren Sie und rufen Sie entsprechende Tests auf. Wenn das nicht funktioniert, beschreibe bitte deinen Rahmen ein bisschen mehr oder klär ein konkreteres Ziel.

Beispiel: Login-Testmethode. Jeder Test, der an der Basis der Anwendung startet, muss sich anmelden. Selbst wenn Sie sich völlig anders einloggen und navigieren, wird der Login-Test selbst einmal geschrieben und aus einer Reihe von Tests als erster Schritt aufgerufen.

Verwandte Themen