Page Objects: So machen Sie Ihre UI-Tests robuster
Das Testen von Webseiten erfordert die Interaktion mit Elementen, aber die direkte Manipulation von HTML macht Tests anfällig. Page Objects lösen dieses Problem, indem sie eine Seite oder ein Fragment als anwendungsspezifische API kapseln. Dadurch kann mit Elementen interagiert werden, ohne direkt auf HTML zuzugreifen. Ziel ist es, Benutzeraktionen zu imitieren und eine saubere Schnittstelle bereitzustellen, die zugrunde liegende Widgets verbirgt. Textfelder verwenden String-Accessor, Checkboxen Booleans und Buttons aktionsorientierte Methoden. Gute Page Objects modellieren die Perspektive des Benutzers, nicht die interne Struktur der Benutzeroberfläche, und geben grundlegende Datentypen oder andere Page Objects zurück. Es gibt eine Debatte über die Einbeziehung von Assertions in Page Objects. Der Autor bevorzugt, Assertions in Testskripten zu belassen, um aufgeblähte Page Objects zu vermeiden und Assertions-Bibliotheken zu verwenden, um Redundanz zu reduzieren. Dieses Muster funktioniert mit verschiedenen UI-Technologien und ist nicht nur für Tests, sondern auch als Skript-Schnittstelle für Anwendungen nützlich.
Mehr lesen