Ich habe versucht, webdriver
in die Schritte zu injizieren. Ich habe diese Anweisungen verwendet und es funktioniert gut.
Die Idee ist, WebDriver als Dienst in Steps-Klassen zu integrieren. Im ersten Schritt müssen Sie die folgende Abhängigkeit hinzufügen:
%Vor%Es gibt drei Hauptklassen, die an der Abhängigkeitsinjektion beteiligt sind. Hier stellen wir sie einzeln vor.
BaseUtil
BaseUtil ist die Klasse mit einem Attribut für WebDriverof Selenium. Die Klasse ist ziemlich einfach:
%Vor%Haken
Die Hook-Klasse enthält @Before, @After
. Die Methode testInitialier () ist dafür verantwortlich, die webDriver Datei zu laden und eine Instanz zu erstellen, während die Methode testTearDown () für das Schließen des Browsers zuständig ist.
Schritte
Und die Klasse steps enthält die Schritte, die von der kompilierten Feature-Datei stammen. Um die Feature-Datei in Eclipse zu kompilieren, muss das Eclipse-Cucumber-Plugin in Ihrem Eclipse installiert sein.
%Vor%Wie mache ich es?
Öffnen Sie die Feature-Datei - & gt; Führen Sie als - & gt; Run mit Junit
Frage
Ich frage mich, Was ist die Reihenfolge der laufenden Methoden in einer Weise, die zur Abhängigkeitsinjektion führt?
Ich denke, die Reihenfolge ist wie folgt:
@Before
method auf, was testInitializer()
ist
testInitializer()
befindet sich in der Hook-Klasse, daher muss es eine Instanz von Hook
class erstellen. Aber ich kann den Rest der Schritte nicht verstehen. Vielleicht stimmt es überhaupt nicht. Ich meine, Ich habe einen funktionalen Code, aber ich kann nicht erklären, wie es funktioniert?
Wie ich Sie richtig verstehe, verwenden Sie JUnit als Testframework mit Gurkenfrühling. JUnit bietet den folgenden Lebenszyklus.
Wenn Sie die Methode mit Annotation @ annotieren, wird diese Methode vor jedem Test aufgerufen, den Sie haben. Wie für @After könnte für die Reinigung von Ressourcen verwendet werden und nach jedem Test aufrufen.
Ihr Testablauf beim Ausführen des Tests:
Zusätzlich können Sie logging (slf4j) statt System.out.println verwenden und es wird einfacher sein, den Testablauf zu verfolgen.
Tags und Links java dependency-injection selenium junit cucumber