Heim > Backend-Entwicklung > PHP-Tutorial > Laravel -Dämmerung - Intuitive und einfache Browser -Tests für alle!

Laravel -Dämmerung - Intuitive und einfache Browser -Tests für alle!

Jennifer Aniston
Freigeben: 2025-02-10 10:18:11
Original
1057 Leute haben es durchsucht

Laravel-Dämmerung: Straffung von End-to-End-Browser-Tests für JavaScript-Anwendungen

In diesem Artikel wird Laravel Dusk untersucht, eine leistungsstarke Browser-Testbibliothek für Laravel-Anwendungen, insbesondere diejenigen, die stark auf JavaScript angewiesen sind, wie z. B. einseitige Anwendungen (SPAs). Die Dämmerung vereinfacht den Prozess des End-to-End-Tests durch Bereitstellung einer konsistenten API und hilfreichen Debugging-Funktionen.

Laravel Dusk - Intuitive and Easy Browser Testing for All!

Schlüsselvorteile der Laravel -Dämmerung:

  • Unified API: Dämmerung bietet eine einzelne, intuitive API für Browser -Tests, unabhängig von der zugrunde liegenden Browser -Engine (Standardchromedriver, mit Selenium -Unterstützung für andere).
  • ).
  • ). ).
  • Visuelles Debugging: fehlgeschlagene Tests generieren automatisch Screenshots des Browserzustands am Ausfall, und hilft bei der Identifizierung und Lösung von Problemen erheblich.
AJAX -Unterstützung:

Dämmerung nahtlos mit Ajax -Aufrufen behandelt, sodass Sie asynchrone Interaktionen testen und auf Antworten warten können, was für moderne Webanwendungen von entscheidender Bedeutung ist.

Erste Schritte mit Laravel Dämmerung:

Das Tutorial setzt eine neue Laravel 5.4 -Anwendung an.

    Installation:
  1. composer require laravel/dusk

  2. Verwenden Sie den Komponisten, um das Paket zu installieren:
  3. DuskServiceProvider AppServiceProvider

    Registrieren Sie die
  4. . Der empfohlene Ansatz besteht darin, ihn bedingt in Ihrem
zu registrieren, um das Laden in der Produktion zu vermeiden:
namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Laravel\Dusk\DuskServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
        if ($this->app->environment('local', 'testing')) {
            $this->app->register(DuskServiceProvider::class);
        }
    }
}
Nach dem Login kopieren
Nach dem Login kopieren
  1. php artisan dusk:install
Führen Sie den Befehl Installation aus:

Dies erstellt die erforderliche Verzeichnisstruktur und Dateien für Ihre Dämmerungstests.

Ihr erster Dämmerungstest: php artisan make:auth

    Erstellen wir einen einfachen Anmeldetest (vorausgesetzt, Sie haben Laravels Authentifizierungs -Gerüst mit
  1. ):

    eingerichtet): php artisan dusk:make LoginTest

  2. generieren Sie einen Dämmerungstestfall:

class LoginTest extends DuskTestCase
{
    public function testSuccessfulLogin()
    {
        $this->browse(function ($browser) {
            $browser->visit('/login')
                    ->type('email', 'testuser@example.com')
                    ->type('password', 'password')
                    ->press('Login')
                    ->assertSee('You are logged in!');
        });
    }
}
Nach dem Login kopieren
Schreiben Sie den Test:
  1. php artisan dusk

Führen Sie die Tests aus: Laravel Dusk - Intuitive and Easy Browser Testing for All!

Behandlungstests Fehler:

Laravel Dusk - Intuitive and Easy Browser Testing for All!

Die Dämmerung verbessert das Debuggen, indem Screenshots beim Testversagen erfasst werden. Dieses visuelle Feedback beschleunigt den Prozess der Fehlerbehebung erheblich.

storage/framework/screenshots

<🎜> <🎜> Der Screenshot wird im Verzeichnis <🎜> gespeichert. <🎜>

Laravel Dusk - Intuitive and Easy Browser Testing for All!

Testen von AJAX -Aufrufen:

Dämmerung zeichnet sich beim Testen von Ajax -Interaktionen aus. Die waitUntilMissing -Methode ist besonders nützlich, um auf asynchrone Operationen zu warten.

Laravel Dusk - Intuitive and Easy Browser Testing for All!

Beispiel mit waitUntilMissing:

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Laravel\Dusk\DuskServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
        if ($this->app->environment('local', 'testing')) {
            $this->app->register(DuskServiceProvider::class);
        }
    }
}
Nach dem Login kopieren
Nach dem Login kopieren

Fortgeschrittenes Beispiel: Testen Modale:

Die

-Dämmerungsmethode whenAvailable ermöglicht es Ihnen, mit Elementen zu interagieren, die dynamisch erscheinen, wie z. B. Modale.

Laravel Dusk - Intuitive and Easy Browser Testing for All!

Verwenden von Dämmerungsseiten zur Wiederverwendbarkeit:

Dämmerungsseiten fördern die Wiederverwendbarkeit des Codes, indem gemeinsame Wechselwirkungen und Behauptungen von Seite eingekapselt werden.

Schlussfolgerung:

Laravel Dämmerung bietet eine robuste und effiziente Lösung für die End-to-End-Browser-Tests von JavaScript-hochwertigen Laravel-Anwendungen. Die intuitive API, die visuellen Debugging -Funktionen und die Unterstützung von AJAX machen es zu einem wertvollen Instrument, um die Qualität und Zuverlässigkeit Ihrer Webanwendungen sicherzustellen. Die bereitgestellten Beispiele und Erklärungen sollten eine solide Grundlage für die Einbeziehung der Dämmerung in Ihren Entwicklungsworkflow bieten. Denken Sie daran, die offizielle Dokumentation von Laravel Dusk für weitere Details und fortgeschrittene Funktionen zu konsultieren.

Laravel Dusk - Intuitive and Easy Browser Testing for All!

(FAQS -Abschnitt für die Kürze weggelassen, da es sich um eine direkte Kopie des FAQ -Abschnitts der ursprünglichen Eingabe handelt.)

Das obige ist der detaillierte Inhalt vonLaravel -Dämmerung - Intuitive und einfache Browser -Tests für alle!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage