Wir haben das Protractor-Framework ausgiebig genutzt und eine ziemlich große Test-Codebasis eingerichtet. Wir haben auch das Seitenobjektmuster verfolgt, um unsere Tests zu organisieren.
Vor kurzem haben wir damit begonnen, das Galen-Framework zu nutzen, um die Lücke zwischen visueller / Layout- und Responsive-Design-Tests zu schließen. Wir mögen das Framework sehr und würden es gerne weiter verwenden.
Das größte Problem im Moment ist Page Objects. Beide Frameworks haben ihre eigenen Möglichkeiten, Seitenobjekte zu definieren.
Hier sehen Sie ein Beispiel für ein Winkelmesser-Objekt:
%Vor%Und hier ist ein Beispiel für ein Galen Seitenobjekt:
%Vor%Gegenwärtig duplizieren wir die Locators und wiederholen uns selbst - gegen das DRY-Prinzip . Und das andere Folgeproblem ist, dass Galen derzeit nur "by css" -, "by id" - oder "by xpath" -Standorttechniken unterstützt - was bedeutet, dass Seitenobjekte nicht eins zu eins zugeordnet werden.
>Gibt es eine Möglichkeit, die Wiederholung von Seitenobjekten und Element-Locators, die Winkelmesser und Galen zusammen kombinieren, zu vermeiden?
Angesichts der verfügbaren Informationen sehe ich keinen direkten Weg, es zu kombinieren.
Galen und Winkelmesser sind auf Github verfügbar und ich sehe kein größeres Hindernis beim Ausrichten / Forken / Modifizieren von ihnen zu dem, was Sie brauchen.
Das beste Bild, das ich sehe, ist, zum Galen-Framework beizutragen und das GalenPages.js
mit einer Zuordnungsfunktion für Winkelmesserobjekte. Obwohl es mehr als 600 Zeilen Code in dieser .js-Datei gibt, scheint es innerhalb vernünftiger Anstrengungen machbar zu sein.
ein Problem im Galen GitHub-Projekt in dieser Richtung zu lösen, wäre sicher die Mühe wert.
Tags und Links javascript selenium protractor pageobjects galen