Sobes.tech
Middle

Welche Arten von Frameworks für UI-Tests kennst du?

sobes.tech KI

Antwort von AI

  • Datengetriebenes Framework: Testdaten sind von der Testlogik getrennt. Tests werden mit verschiedenen Datensätzen aus externen Quellen (Excel, Datenbanken, XML) ausgeführt. Erleichtert Tests mit vielen Eingangsszenarien.
  • Keyword-Driven Framework: Aktionen und Objekte, die im Test beteiligt sind, werden in Form von "Schlüsselwörtern" dargestellt. Tests werden durch Kombination dieser Schlüsselwörter erstellt, oft tabellarisch. Geeignet für Nicht-Techniker.
  • Hybrides Framework: Kombination von zwei oder mehr Ansätzen (oft Data-Driven und Keyword-Driven) für maximalen Komfort, Flexibilität und Skalierbarkeit. Der am weitesten verbreitete Typ.
  • Page Object Model (POM) Framework: Entwurfsmuster, bei dem jedes Element der Benutzeroberfläche (Seite oder Komponente) durch eine separate Klasse repräsentiert wird. Die Interaktion mit UI-Elementen erfolgt über die Methoden dieser Klassen. Verbessert Lesbarkeit, Wartbarkeit und Wiederverwendbarkeit des Testcodes.
// Beispiel Page Object Model
public class LoginPage {
    WebElement usernameField;
    WebElement passwordField;
    WebElement loginButton;

    public LoginPage(WebDriver driver) {
        // Initialisierung der Elemente
    }

    public void enterCredentials(String username, String password) {
        usernameField.sendKeys(username);
        passwordField.sendKeys(password);
    }

    public void clickLogin() {
        loginButton.click();
    }
}
  • Behavior-Driven Development (BDD): Konzentriert sich auf das Verhalten des Systems. Tests sind in einfacher, verständlicher Sprache (Gherkin) geschrieben, die Schritte und erwartete Ergebnisse aus der Sicht des Benutzers beschreibt. Ermöglicht Zusammenarbeit zwischen QA, Entwicklern und Business-Analysten. Werkzeuge: Cucumber, SpecFlow.
// Beispiel Gherkin (BDD)
Feature: Anmeldung

  Scenario: Erfolgreiche Anmeldung mit korrekten Daten
    Given Der Benutzer befindet sich auf der Anmeldeseite
    When Der Benutzer gibt "gültiger_benutzer" in das Feld "Benutzername" ein
    And Der Benutzer gibt "gültiges_passwort" in das Feld "Passwort" ein
    And Der Benutzer klickt auf "Anmelden"
    Then Der Benutzer wird auf die Hauptseite weitergeleitet