Antworten 1:

Jagan Maruthappan hat diese Frage bereits sehr gut beantwortet. Ich möchte jedoch einen wichtigen Punkt hinzufügen, den ich während meiner Arbeit an Selen bemerkt habe.

Wenn das Element in Page Factory nicht an einer bestimmten Stelle gefunden wird, enthält das WebElement, in dem Sie das Element speichern, nicht null, sondern ein Proxy-Element oder ähnliches. Dies bedeutet, dass es für Unternehmensprojekte, in denen normalerweise Tausende von Testfällen ausgeführt werden, sehr schwierig ist, den Fehler zu verfolgen.

Ein weiterer Nachteil ist, dass die Page Factory Annotation verwendet. Sie denken vielleicht, warum es ein Nachteil ist. Lassen Sie mich erklären, Annotation bietet bestimmte Funktionen, die den Programmierern die Arbeit erleichtern. Sie sind jedoch auch statisch und können nicht geändert werden. Programmiersprachen wie JAVA ermöglichen es uns, das zu tun, was wir wollen, und wir können es auf verschiedene Arten tun, wie wir es möchten. POM ist nichts anderes als die Implementierung von Object Repository, die sich genau so verhält, als würden wir driver.findElement (By .- (“- - -“)) einfügen. Anweisung direkt in unseren Testskripten.



Antworten 2:

Seitenobjektmodell: Ein Entwurfsmuster: Selen-Code nach Seiten trennen.

Beispiel: Erstellen Sie eine separate Java-Klasse für die Anmeldeseite, eine weitere Klasse für die Startseite usw.

Page Factory: Erweitertes Konzept (POM + neue Funktionen)

1. Elemente werden mit @FindBy Annotation identifiziert

2. Initialisierung aller in Punkt 1 deklarierten Elemente gleichzeitig.

(In POM erfolgt die Initialisierung im laufenden Betrieb)

PageFactory.initElements (Treiber, dies);

Das ist alles.



Antworten 3:

Designmuster

Mit Entwurfsmustern können Sie eine große Anzahl von Testfällen organisieren, um die häufigsten Probleme bei der Automatisierung zu lösen. Wenn die Gesamtzahl der Tests zunimmt, wird es schwieriger, die Codebasis aufrechtzuerhalten. Die Verwendung von Entwurfsmustern für die Automatisierung ist nicht obligatorisch, wird jedoch dringend empfohlen. Einige der Vorteile sind:

  • Strukturierter CodeVermeiden Sie die Duplizierung von CodeEasy, das skalierbar und wartbar ist

Page Object Design Pattern ist ein allgemein anerkannter Ansatz zur Entwicklung automatisierter Testfälle, die kostengünstig und einfach zu warten sind. Eigenschaften :

  • Jede Klasse stellt eine im Browser angezeigte HTML-Seite dar. Die öffentlichen Methoden stellen die Dienste dar, die die Seite anbietet. Im Allgemeinen werden keine Zusicherungen gemacht, Zusicherungen werden in Testklassen aufbewahrt. Unterschiedliche Ergebnisse für dieselbe Aktion werden als unterschiedliche Methoden modelliert

Seitenfabrik

Page Factory ist eine statische Klasse in Selen, die zum Initialisieren von Webelementen in einem POM-Entwurfsmuster (Page Object Model) verwendet wird. Dies vereinfacht die Deklaration, Initialisierung und Lesbarkeit von Webelementen erheblich.

Es wird empfohlen, die Seitenfabrik niemals alleine zu verwenden. Verwenden Sie es in Verbindung mit ladbaren Komponenten. Die größte Herausforderung beim Automatisieren besteht darin, festzustellen, ob eine bestimmte Seite vollständig geladen ist oder nicht. Ladbare Komponenten beheben dieses Problem, indem sie einige Methoden zum Behandeln von Seitenladeszenarien bereitstellen.

Weitere Informationen finden Sie unter folgenden Links:

  1. Selen Design Pattern - POMPOM unter Verwendung von Page Factory & Loadable Components