首頁 >後端開發 >php教程 >Laravel Dusk-所有人的直觀且易於瀏覽器測試!

Laravel Dusk-所有人的直觀且易於瀏覽器測試!

Jennifer Aniston
Jennifer Aniston原創
2025-02-10 10:18:111003瀏覽

laravel Dusk:簡化JavaScript應用程序的端到端瀏覽器測試

>本文探討了Laravel Dusk,這是一個強大的瀏覽器測試庫,專為Laravel應用程序而設計,尤其是那些非常依賴JavaScript的應用程序,例如單頁應用程序(SPA)。 黃昏通過提供一致的API和有用的調試功能來簡化端到端測試的過程。

Laravel Dusk - Intuitive and Easy Browser Testing for All! Laravel Dusk的關鍵優勢:

統一的API:黃昏提供一個用於瀏覽器測試的單個直觀的API,無論其基礎瀏覽器引擎如何

    視覺調試:
  • 失敗的測試會在失敗點自動生成瀏覽器狀態的屏幕截圖,從而極大地有助於識別和解決問題。 >
  • ajax支持:黃昏無縫處理Ajax呼叫,允許您測試異步交互並等待響應,對現代Web應用程序至關重要。
  • Laravel Dusk:
  • >教程假設了一個新的Laravel 5.4應用程序。
>

>安裝:

使用Composer安裝軟件包:

  1. 註冊

    。 推薦的方法是在您的composer require laravel/dusk中有條件註冊它,以避免將其加載到生產中:

  2. DuskServiceProvider運行安裝命令:AppServiceProvider

這將為您的黃昏測試創建必要的目錄結構和文件。 >
<code class="language-php">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);
        }
    }
}</code>
    >您的第一個黃昏測試:
  1. > php artisan dusk:install>讓我們創建一個簡單的登錄測試(假設您使用
  2. >設置了Laravel的身份驗證腳手架):

生成黃昏測試案例:>

php artisan make:auth寫測試:

  1. php artisan dusk:make LoginTest

    運行測試:
<code class="language-php">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!');
        });
    }
}</code>
    處理測試失敗:>>
  1. 黃昏通過在測試失敗時捕獲屏幕截圖來增強調試。 此視覺反饋顯著加快了故障排除過程。 php artisan dusk

Laravel Dusk - Intuitive and Easy Browser Testing for All! 屏幕截圖保存在

>目錄中。

>

Laravel Dusk - Intuitive and Easy Browser Testing for All!

測試ajax調用: 在測試AJAX相互作用方面,黃昏擅長。

方法對於等待異步操作完成特別有用。

waitUntilMissing

>使用Laravel Dusk - Intuitive and Easy Browser Testing for All! >:

waitUntilMissing

高級示例:測試模式:
<code class="language-php">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);
        }
    }
}</code>

> 黃昏的方法允許您與動態出現的元素(例如模態)進行交互。

whenAvailable

使用黃昏頁面以進行可重複使用:Laravel Dusk - Intuitive and Easy Browser Testing for All! > 黃昏頁面通過封裝共同的頁面互動和斷言來促進代碼可重複使用。

>

結論: Laravel Dusk

>(FAQS部分省略了,因為它是原始輸入的FAQ部分的直接副本。

以上是Laravel Dusk-所有人的直觀且易於瀏覽器測試!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn