隨著Web應用程式的發展,測試自動化已經成為一個不可或缺的元素。在本文中,我們將探討Laravel Dusk,這是Laravel框架的一個強大的工具,用於自動化UI測試。 Laravel Dusk提供了一個簡單的API來運行無頭瀏覽器,透過模擬使用者交互,驗證您的網路應用程式是否按照預期工作。
使用Laravel Dusk進行自動化UI測試的好處是什麼?
接下來,讓我們來看看如何在Laravel中使用Laravel Dusk進行自動化UI測試。
先決條件:
步驟1:安裝Laravel Dusk
Laravel Dusk是Laravel框架的一部分,因此我們需要先安裝Laravel框架。要安裝Laravel框架,請執行以下命令:
$ composer create-project --prefer-dist laravel/laravel project-name
接下來,我們需要透過執行以下命令來安裝Laravel Dusk:
$ composer require --dev laravel/dusk
步驟2:設定Dusk
#一旦您安裝了Laravel Dusk,您就需要執行幾個設定步驟才能開始測試。
首先,Dusk需要一個.env.dusk.local文件,該文件是一個.env文件的延伸,其中包含用於測試的環境變數。您可以透過以下方式建立.env.dusk.local檔案:
$ cp .env .env.dusk.local
更改.env.dusk.local檔案中的內容以滿足您的測試需求。
Laravel Dusk也需要一個SQLite資料庫來儲存測試期間使用的資料。您可以透過執行以下命令來建立資料庫:
$ touch database/database.sqlite
最後,請在您的AppServiceProvider中註冊存取器,該存取器指示Dusk使用PHPUnit的ChromeDriver。
public function register() { if ($this->app->environment('local', 'testing')) { $this->app->register(DuskServiceProvider::class); } }
步驟3:編寫測試
現在,您可以開始編寫您的第一個Dusk測試。要編寫測試,請建立一個tests/Browser目錄,在其中建立一個新的瀏覽器測試類別。
使用Artisan製造器可以方便創建該文件,運行以下命令:
$ php artisan dusk:make LoginTest
運行此命令將創建一個名為LoginTest.php的新測試類文件,請根據以下示例代碼更新此文件:
<?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'); }); } }
此範例測試在Chrome瀏覽器中開啟本機應用程序,然後在登入頁面輸入範例數據,點擊登入按鈕,然後驗證重定向路徑是否為「/home」。
最後,執行以下指令來執行測試:
php artisan dusk
恭喜!您現在已經完成了Laravel Dusk的入門教學。使用Laravel Dusk,可以輕鬆地編寫自動化UI測試,以確保您的應用程式按照預期的方式運作。
以上是Laravel開發:如何使用Laravel Dusk進行自動化UI測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!