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

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
Full-Stack-Entwicklung mit Laravel: Verwalten von APIs und Frontend-LogikFull-Stack-Entwicklung mit Laravel: Verwalten von APIs und Frontend-LogikApr 28, 2025 am 12:22 AM

In der Entwicklung von Laravel Full-Stack sind effektive Methoden zur Verwaltung von APIs und Front-End-Logik: 1) Verwenden von APIs mit erholsamen Controllern und Ressourcenrouting-Management; 2) Verarbeitung der Front-End-Logik durch Klingenvorlagen und Vue.js oder React; 3) Optimierung der Leistung durch API -Versioning und Paging; 4) Aufrechterhaltung der Trennung von Back-End- und Front-End-Logik, um die Wartbarkeit und Skalierbarkeit zu gewährleisten.

Verloren in der Übersetzung: Kulturelle Nuancen und Missverständnisse in verteilten TeamsVerloren in der Übersetzung: Kulturelle Nuancen und Missverständnisse in verteilten TeamsApr 28, 2025 am 12:22 AM

TotackleculturalinTricieSchuit -Verteilerteams, FosteranenvironmentcelebratingDifferzen, Bemindfulofcommunication, Andusetoolsforclarity.1) ImplementculturalexchangesSessionStosharestories undtraditions.2) adjitcommunicationMethodstosuitculturalPreferenz

Messung der Verbindung: Analytik und Erkenntnisse für die Effektivität der FernkommunikationMessung der Verbindung: Analytik und Erkenntnisse für die Effektivität der FernkommunikationApr 28, 2025 am 12:16 AM

ToassStheeFeffectivityofremoteCommunication, Focuson: 1) EngagementMetricSlikemessageFrequency und ResponSetime, 2) Sentimentanalysistogaigeemotionaltone, 3) treffeneffektivitätsthroughattendanceAndactionItems und 4) networkanalysistestandCommunivitätscommunicationPa

Sicherheitsrisiken in verteilten Teams: Schutz der Daten in einer abgelegenen WeltSicherheitsrisiken in verteilten Teams: Schutz der Daten in einer abgelegenen WeltApr 28, 2025 am 12:11 AM

ToprotectsensistivedataTaNdivicutTeams, Implementamulti-facetedApproach: 1) UseSend-to-endencryptionForsecurecommunication, 2) applyRol-basierte AccessControl (RBAC) TomanagePermissions, 3) VerschlüsselungsecryaatrestwithKeyManonmenttools und 4) fosterasecuritycreservec

Über E -Mail hinaus: Erforschung moderner Kommunikationsplattformen für die Remote -ZusammenarbeitÜber E -Mail hinaus: Erforschung moderner Kommunikationsplattformen für die Remote -ZusammenarbeitApr 28, 2025 am 12:03 AM

Nein, EmailisnotTheBostForremoteCollaborationToday.moderne PlatformLack, Microsoft-Teams, Zoom, Asana, AndtrellFerreal-Time-Kommunikation, Projektmanagement und IntegrationFeaturästhankteamwork und Effiction.

Kollaborative Dokumentbearbeitung: Staffeln von Workflow in verteilten TeamsKollaborative Dokumentbearbeitung: Staffeln von Workflow in verteilten TeamsApr 27, 2025 am 12:21 AM

Die kollaborative Dokumentbearbeitung ist ein effektives Tool für verteilte Teams, um ihre Workflows zu optimieren. Es verbessert den Kommunikations- und Projektfortschritt durch Zusammenarbeit in Echtzeit und Feedback-Schleifen. Zu den gängigen Tools gehören Google Docs, Microsoft-Teams und Begriffe. Achten Sie bei der Verwendung auf Herausforderungen wie Versionskontrolle und Lernkurve.

Wie lange wird die vorherige Laravel -Version unterstützt?Wie lange wird die vorherige Laravel -Version unterstützt?Apr 27, 2025 am 12:17 AM

The -reviousversionoflaravelissupported withbugfixesforsimmonthsandSecurityFixesforeyearafteranewmajorversionsRelease.VerverständnisThissupporttimelineIscialForPlanningUpupgrades, SecuringProjectStability und

Nutzung von Laravels Funktionen für Frontend- und Backend -EntwicklungNutzung von Laravels Funktionen für Frontend- und Backend -EntwicklungApr 27, 2025 am 12:16 AM

LaravelcanbeeffectiveforvectorbothFrontendandbackendDevelopment.1) Backend: Uttilizelaravel'seloquentorMForSimplifiedDatabaseInteractions.2 Frontend: HebelBladetEmplatesforCleanHtmlandIntevue.jsfordynamics, EnsuringsAnlateAnteAntegendinteg

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft