Heim >PHP-Framework >Laravel >Laravel-Entwicklung: Wie verwende ich Laravel Dusk für automatisierte UI-Tests?

Laravel-Entwicklung: Wie verwende ich Laravel Dusk für automatisierte UI-Tests?

PHPz
PHPzOriginal
2023-06-13 17:21:27825Durchsuche

Bei der Entwicklung von Webanwendungen ist die Testautomatisierung zu einem unverzichtbaren Element geworden. In diesem Artikel werden wir Laravel Dusk erkunden, ein leistungsstarkes Tool des Laravel-Frameworks für automatisierte UI-Tests. Laravel Dusk bietet eine einfache API zum Ausführen eines Headless-Browsers, um durch Simulation der Benutzerinteraktion zu überprüfen, ob Ihre Webanwendung wie erwartet funktioniert.

Welche Vorteile bietet die Verwendung von Laravel Dusk für automatisierte UI-Tests?

  • Schnelles und zuverlässiges Testen: Laravel Dusk ist ein schnelles und zuverlässiges Testtool, das darauf ausgelegt ist, Testzyklen zu verkürzen und gleichzeitig die Testinfrastruktur zu vereinfachen.
  • Bessere Testabdeckung: Verwenden Sie Laravel Dusk, um viele Aspekte Ihrer Anwendung zu testen, wie z. B. Formularvalidierung, Benutzeraktionen, Authentifizierung usw.
  • Simulieren Sie tatsächliche Benutzerinteraktionen: Laravel Dusk testet Ihre Anwendung, indem es tatsächliche Benutzerinteraktionen simuliert, sodass Sie sicherstellen können, dass Ihre Anwendung tatsächlich so funktioniert, wie sie soll.
  • Situationstests: Sie können Tests anhand verschiedener Szenarien durchführen. Dies bedeutet, dass Sie viele verschiedene Szenarien testen können, z. B. das Testen bestimmter Webseiten, das Testen verschiedener Benutzerrollen und Berechtigungen usw.

Als nächstes werfen wir einen Blick darauf, wie man Laravel Dusk für automatisierte UI-Tests in Laravel verwendet.

Voraussetzungen:

  • Laravel 5.4 oder höher
  • PHP 7.0 oder höher

Schritt 1: Laravel Dusk installieren

Laravel Dusk ist Teil des Laravel-Frameworks, daher müssen wir zuerst das Laravel-Framework installieren. Um das Laravel-Framework zu installieren, führen Sie den folgenden Befehl aus:

$ composer create-project --prefer-dist laravel/laravel project-name

Als nächstes müssen wir Laravel Dusk installieren, indem wir den folgenden Befehl ausführen:

$ composer require --dev laravel/dusk

Schritt 2: Dusk einrichten

Sobald Sie Laravel Dusk installiert haben, müssen Sie einen ausführen Um mit dem Testen zu beginnen, sind nur wenige Einrichtungsschritte erforderlich.

Erstens benötigt Dusk eine .env.dusk.local-Datei, die eine Erweiterung einer .env-Datei ist und Umgebungsvariablen zum Testen enthält. Sie können die Datei .env.dusk.local folgendermaßen erstellen:

$ cp .env .env.dusk.local

Ändern Sie den Inhalt der Datei .env.dusk.local entsprechend Ihren Testanforderungen.

Laravel Dusk erfordert außerdem eine SQLite-Datenbank zum Speichern der während des Tests verwendeten Daten. Sie können die Datenbank erstellen, indem Sie Folgendes ausführen:

$ touch database/database.sqlite

Registrieren Sie abschließend einen Accessor in Ihrem AppServiceProvider, der Dusk anweist, den ChromeDriver von PHPUnit zu verwenden.

public function register()
{
    if ($this->app->environment('local', 'testing')) {
        $this->app->register(DuskServiceProvider::class);
    }
}

Schritt 3: Schreiben Sie den Test

Jetzt können Sie mit dem Schreiben Ihres ersten Dusk-Tests beginnen. Um Tests zu schreiben, erstellen Sie ein Verzeichnis „tests/Browser“ und erstellen Sie darin eine neue Browser-Testklasse.

Diese Datei kann einfach mit dem Artisan Maker erstellt werden. Führen Sie den folgenden Befehl aus:

$ php artisan dusk:make LoginTest

Durch die Ausführung dieses Befehls wird eine neue Testklassendatei namens LoginTest.php erstellt. Bitte aktualisieren Sie diese Datei gemäß dem folgenden Beispielcode:

<?php

namespace TestsBrowser;

use LaravelDuskBrowser;
use TestsDuskTestCase;

class LoginTest extends DuskTestCase
{
    /**
     * A Dusk test example.
     *
     * @return void
     */
    public function testLogin()
    {
        $this->browse(function (Browser $browser) {
            $browser->visit('/login')
                    ->type('email', 'example@domain.com')
                    ->type('password', 'password')
                    ->press('Login')
                    ->assertPathIs('/home');
        });
    }
}

Das Beispiel testen Sie, indem Sie die lokale Anwendung im Chrome-Browser öffnen, dann die Beispieldaten auf der Anmeldeseite eingeben, auf die Anmeldeschaltfläche klicken und dann überprüfen, ob der Umleitungspfad „/home“ ist.

Führen Sie abschließend den folgenden Befehl aus, um den Test auszuführen:

php artisan dusk

Herzlichen Glückwunsch! Sie haben nun das Tutorial „Erste Schritte“ mit Laravel Dusk abgeschlossen. Mit Laravel Dusk können Sie ganz einfach automatisierte UI-Tests schreiben, um sicherzustellen, dass Ihre Anwendung wie erwartet funktioniert.

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie verwende ich Laravel Dusk für automatisierte UI-Tests?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn