Laravel-Entwicklung: Wie verwende ich Laravel Dusk für Browsertests?
Mit der kontinuierlichen Weiterentwicklung der Internettechnologie sind Webanwendungen zu einem unverzichtbaren Bestandteil unseres täglichen Lebens geworden. Gleichzeitig wird das Testen immer wichtiger. Bei der Entwicklung von Webanwendungen sind Browsertests ein wesentlicher Bestandteil. Das Laravel-Framework bietet ein Tool namens Dusk, das Entwicklern beim Browsertesten hilft. In diesem Artikel wird erläutert, wie Sie Laravel Dusk zum Testen von Browsern verwenden.
Zuerst müssen wir Dusk im Laravel-Projekt installieren. Dusk kann installiert werden, indem der folgende Befehl über Composer ausgeführt wird:
composer require --dev laravel/dusk
Nach der Installation müssen Sie zum Konfigurieren den folgenden Befehl ausführen:
php artisan dusk:install
Dadurch wird ein Tests/Browser-Verzeichnis im Projektstammverzeichnis erstellt, das einige Standardtests enthält Dateien und Beispiel.
Vor der Ausführung des Tests sind einige Konfigurationen erforderlich.
Zuerst müssen Sie den APP_URL-Wert in der .env-Datei als URL der Testwebsite konfigurieren. Normalerweise führen wir Tests in einer Testumgebung durch, daher wird empfohlen, APP_ENV auf „lokal“ zu konfigurieren.
APP_URL=http://localhost:8000 APP_ENV=local
Als nächstes müssen Sie die Testdatenbankverbindung konfigurieren. Laravel Dusk verwendet beim Testen eine dedizierte Datenbankverbindung, daher muss diese Verbindung in der .env-Datei definiert werden. Sie können die ursprüngliche Datenbankverbindungskonfiguration kopieren und ihr den Namen „Dusk“ geben. Beachten Sie, dass der DB_DATABASE-Wert hier mit dem Wert in der Datei .env.dusk.local unten identisch sein muss.
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=my_test_database DB_USERNAME=root DB_PASSWORD=
Schließlich müssen wir eine neue Datei namens .env.dusk.local erstellen und darin APP_ENV auf „dusk.local“ setzen, um Laravel wissen zu lassen, dass wir Dusk-Tests durchführen.
APP_ENV=dusk.local
Da wir nun die Grundkonfiguration abgeschlossen haben, können wir mit dem Schreiben von Tests beginnen. Öffnen Sie die Datei „tests/Browser/ExampleTest.php“ und wir sehen ein einfaches Testbeispiel. Erstellen Sie selbst eine neue Testdatei, beachten Sie das folgende Format:
<?php namespace TestsBrowser; use TestsDuskTestCase; use LaravelDuskBrowser; use IlluminateFoundationTestingDatabaseMigrations; class MyExampleTest extends DuskTestCase { use DatabaseMigrations; public function test_example() { $this->browse(function (Browser $browser) { $browser->visit('/') ->assertSee('Laravel'); }); } }
Dieser Test öffnet die Homepage im Browser und ruft „Laravel“ im Webinhalt ab. In der Testmethode verwenden wir die Methode $this->browse() zum Starten des Browsers, die einen Abschluss verwendet, der eine Browser-Instanz als Parameter akzeptiert, mit der viele verschiedene Vorgänge ausgeführt werden können.
Nachdem Sie Ihren Test geschrieben haben, können Sie den Test mit dem folgenden Befehl ausführen:
php artisan dusk
Dusk öffnet ein Chrome-Browserfenster und lädt die Testwebsite. Anschließend werden alle Tests ausgeführt und der Browser am Ende der Tests geschlossen. Die Testergebnisse werden an die Konsole ausgegeben.
Wenn Sie nur eine bestimmte Testdatei ausführen möchten, können Sie den folgenden Befehl verwenden:
php artisan dusk tests/Browser/MyExampleTest.php
Wenn Sie das Browserfenster während der Testausführung beibehalten möchten, können Sie die Option --debug verwenden:
php artisan dusk --debug
Im Browser können Sie den Test debuggen und sogar den Testcode in Echtzeit ändern, um das Debuggen von Problemen zu erleichtern.
Laravel Dusk ist ein sehr nützliches Tool, das uns dabei helfen kann, Browsertests einfach durchzuführen. Indem Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie Browsertests ganz einfach in Ihre Laravel-Anwendung integrieren. Durch die Verwendung von Dusk für Browsertests kann die Qualität der Anwendung besser sichergestellt, potenzielle Probleme identifiziert und die Zuverlässigkeit und Leistung der Anwendung verbessert werden.
Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie verwende ich Laravel Dusk für Browsertests?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!