Testautomatisierung mit Selen und Gurken-Framework: Lernprogramm

Webanwendungen sind für Unternehmen unverzichtbar geworden, die nach erweiterten Möglichkeiten suchen, sich mit ihrer Zielgruppe im digitalen Bereich zu verbinden und diese zu bedienen. Angesichts der Bedeutung von Web-Apps für den Geschäftsbetrieb in diesen Tagen müssen sie unabhängig von der Branche umfassend getestet werden, um sicherzustellen, dass sie High-End-Benutzererlebnisse bieten.

Automatisierungstests beschleunigen den Lebenszyklus der Softwareentwicklung. Darüber hinaus können bei der Übernahme des BDD-Ansatzes (Behavior Driven Development) verschiedene Stakeholder wie Entwickler, QAs und Nicht-Tech-Teams aktiv an dem Projekt zusammenarbeiten.

Die Szenarien basieren auf dem erwarteten Verhalten der Software und es wird getestet, um zu überprüfen, ob es mit diesen Szenarien übereinstimmt.

Bildquelle

Diese Szenarien werden mit einer domänenspezifischen Sprache wie Gurke dokumentiert. In jedem Testszenario werden Konstrukte in natürlicher Sprache verwendet, die kleine englische Phrasen bilden, um das Verhalten und das erwartete Ergebnis einer Anwendung zu beschreiben. Dies geschieht mit einem speziellen Softwaretool wie Cucumber, mit dem in Gherkin geschriebene automatisierte Abnahmetests ausgeführt werden können.

Was ist Cucumber?

Cucumber ist ein Open-Source-Testframework unterstützt Behavior Driven Development zum Automatisierungstest von Webanwendungen. Die Tests werden zunächst in einer einfachen Szenarioform geschrieben, die das erwartete Verhalten des Systems aus Sicht des Benutzers beschreibt.

Gurke wird hauptsächlich für Abnahmetests verwendet und in Ruby geschrieben, während die Tests in Gherkin geschrieben werden. Eine nicht technische und für Menschen lesbare Sprache.

Gurken- und Selentests: Ein kollaborativer Ansatz

Während automatisierte Selentests dem Entwicklungszyklus Genauigkeit und Geschwindigkeit verleihen, bietet Cucumber einen zusätzlichen Vorteil Dies macht es für die nicht-technischen Management-Stakeholder kollaborativer. Cucumber ist für das Testen der Benutzerakzeptanz von großem Vorteil, da die Testszenarien weitgehend vom Verhalten abhängen. Es stärkt das Automatisierungstest.

Das Cucumber Framework

Das Cucumber Framework besteht hauptsächlich aus drei Hauptteilen: Feature File, Schrittdefinitionen und die Testrunner-Datei.

Feature-Datei

Eine eigenständige Einheit oder eine einzelne Funktionalität (z. B. ein Login) für ein Projekt kann als Feature bezeichnet werden. Für jede dieser Funktionen gibt es Szenarien, die mit in Cucumber integriertem Selen getestet werden müssen. Eine Datei, in der Daten zu Features, deren Beschreibungen und den zu testenden Szenarien gespeichert sind, wird als Feature-Datei bezeichnet.

Gurkentests werden in diese Feature-Dateien geschrieben, die mit der Erweiterung „.feature“ gespeichert sind. Eine Feature-Datei kann mit einer Beschreibung versehen werden, um die Dokumentation besser lesbar zu machen.

Beispiel:

Die Anmeldefunktion auf einer Website

Name der Feature-Datei: userLogin .feature

Beschreibung: Der Benutzer muss sich anmelden können, wenn er den richtigen Benutzernamen und das richtige Passwort in die richtigen Felder eingibt. Der Benutzer sollte zur Startseite weitergeleitet werden, wenn der eingegebene Benutzername und das richtige Passwort korrekt sind.

Schlüsselwörter wie GIVEN, WHEN und THEN, die zum Schreiben des Tests in Cucumber verwendet werden, werden als Anmerkungen bezeichnet.

  • Der Benutzer GIVEN navigiert zur Anmeldeseite, indem er Firefox
  • öffnet WENN der Benutzer das richtige < Benutzername > UND < Passwort Werte
  • DANN wird der Benutzer zu t geleitet Die Homepage

Schrittdefinitionen

Nachdem die Features in die Feature-Dateien geschrieben wurden, muss der Code für das zugehörige Szenario ausgeführt werden. Um zu wissen, welcher Codestapel für ein bestimmtes Szenario ausgeführt werden muss, werden die Schrittdefinitionen angezeigt. In einer Schrittdefinitionsdatei werden die Zuordnungsdaten zwischen jedem Schritt eines in der Feature-Datei definierten Szenarios und dem auszuführenden Code gespeichert.

Schrittdefinitionen können sowohl Java- als auch Selenium-Befehle für die zum Zuordnen von a geschriebenen Java-Funktionen verwenden Feature-Datei zum Code.

Beispiel:

package StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;public class Steps{@Given("^user navigates to the login page by opening Firefox$")//Code to Open Firefox Browser and launch the login page of application to define the GIVEN step of the feature@When("^user enters correct username and password values$")//take inputs for username and password fields using find element by xpath. Put the correct username and password values as inputs to define the WHEN step of the feature@Then ("^user gets directed to homepage$”)//Direct to the Homepage of the application as a result of correct username and password inputs in the WHEN step. This would define the THEN step of the feature

Test-Runner-Datei

Um den Test auszuführen, eine benötigt eine Test Runner-Datei, bei der es sich um eine JUnit-Test Runner-Klasse handelt, die den Speicherort der Schrittdefinition und die anderen primären Metadaten enthält, die zum Ausführen des Tests erforderlich sind.

Die Test Runner-Datei verwendet die Annotation @RunWith () von JUnit für Ausführen von Tests. Außerdem wird die Annotation @CucumberOptions verwendet, um den Speicherort von Feature-Dateien, Schrittdefinitionen, Berichtsintegrationen usw. zu definieren.

Beispiel:

Test Runner-Klasse im cucumberTest-Paket mit den Feature-Dateien im Speicherort „src / test / Feature“ und in den Schrittdefinitionsdateien im Ordner „src / main / stepDefinition“.

Einrichten des Cucumber Framework

Bevor Sie untersuchen, wie Cucumber funktioniert und wie geschrieben wird Lassen Sie uns zunächst herausfinden, wie Gurke eingerichtet wird.Die Installation der unten genannten Voraussetzungen ist alles, was ein Benutzer benötigt, um mit dem Testen der Gurkenautomatisierung zu beginnen.

Voraussetzungen für die Einrichtung von Gurken und Selen

  • Java installieren
  • Installieren Eclipse IDE für Java
  • Maven installieren
  • Selenium Webdriver installieren
  • JUnit installieren
  • Gurke installieren

Wie schreibe ich einen Test in Cucumber für Selenium Automation?

Lassen Sie uns anhand des Szenarios der Anmeldefunktion einen Beispieltest in Cucumber erstellen. Dieser Code führt das im Abschnitt „Funktionen“ beschriebene Anmeldeszenario aus und öffnet die Homepage der Website, wenn Sie den richtigen Benutzernamen und das richtige Kennwort eingeben.

Best Practices beim Testen von Gurken

Hier einige Beispiele Die Best Practices beim Testen von Gurken:

  • Die Versionen von Cucumber-Java-, Cucumber-Junit- und Cucumber-Core-Gläsern sollten für eine nahtlose Konnektivität identisch sein.
  • Hinzufügen eines Nach dem Anschließen an den Code zum Erfassen von Screenshots, wenn der Test fehlschlägt, kann das Problem diagnostiziert und behoben werden.
  • Verwenden Sie Tags zum Organisieren von Tests basierend auf der Tag-Definition. Dies hilft in Fällen, in denen nicht alle Tests jedes Mal ausgeführt werden müssen. Solche Tests können mit Tags markiert und nur bei Bedarf ausgeführt werden. Dies spart Zeit und Verarbeitungskapazität des Systems und der Ressourcen.
  • Wie immer ist es wichtig, die Cucumber Selenium-Tests auf echten Browsern und Geräten durchzuführen. BrowserStack bietet ein Cloud Selenium Grid mit mehr als 2000 echten Browsern und Geräten zu Testzwecken – sowohl live als auch automatisiert. Melden Sie sich einfach an, wählen Sie die gewünschte Kombination aus Gerät, Browser und Betriebssystem aus und testen Sie Websites kostenlos.

Führen Sie kostenlose Selentests durch

Die Testautomatisierung ist für unbedingt erforderlich Halten Sie sich an die wachsenden Anforderungen einer schnelleren Lieferung und einer optimalen Qualität der Tester. Mit dem Gurken-Framework in Selenium können Testszenarien unter Verwendung von Konstrukten in natürlicher Sprache geschrieben werden, die das erwartete Verhalten der Software für ein bestimmtes Szenario beschreiben. Dies macht es ideal für Benutzerakzeptanztests.

Schließlich können Sie Websites auf einem realen Gerät testen Die Cloud ist der einzige Weg, um die vollständige Genauigkeit der Ergebnisse sicherzustellen. Entscheiden Sie sich daher immer für echte Gerätetests, um die Leistung der Website, die Cross-Browser-Kompatibilität und die Qualität der Benutzererfahrung umfassend zu überprüfen.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.