Exploring Laravel Dusk: End-to-End Testing

Halo, Sobat Kreatif! Pada artikel ini, akan membahas pengenalan Laravel Dusk. Laravel Dusk merupakan salah satu tools untuk melakukan automation testing pada web browser. Fitur ini diinisiasi pada Laravel versi 5.4. dengan memanfaatkan otomasi menggunakan ChromeDriver dan Facebook Php-webdriver, sehingga tidak lagi memerlukan instalasi JDK atau Selenium.

Laravel Dusk melakukan testing dengan memanfaatkan selektor pada elemen JavaScript ataupun CSS seperti name, class, dan id.

Untuk selektor berdasarkan nama (name) bisa langsung menuliskannya dalam action. Seperti selektor elemen input dengan name email, maka dapat ditulis

…->type(‘email’, $user->email)

Sementara untuk selektor type class dan id, penulisannya seperti pada CSS atau JavaScript, yaitu dengan menggunakan prefix titik ( . ) untuk class dan prefix tanda hash ( # ) untuk id.

Untuk dokumentasi pada saat melakukan testing, Laravel Dusk menyediakan fitur screenshot, dimana setiap test case yang di running kemudian terdeteksi failed atau gagal dieksekusi, maka akan otomatis mengambil screenshot hasil testing dan menyimpannya dalam direktori screenshottests/Browser/screenshots.

Tahapan yang harus dilakukan untuk melakukan installasi Laravel Dusk adalah sebagai berikut:

1. Lakukan installasi Google Chrome dan tambahkan dependency Composer pada project dengan syntax berikut

composer require laravel/dusk --dev

2. Install konfigurasi Laravel Dusk

php artisan dusk:install

3. Lakukan konfigurasi browser driver dengan menjalankan perintah berikut

php artisan dusk:chrome-driver --all

4. Generate script dasar test case

php artisan dusk:make NamaTest

5. Modifikasi script test case dengan skenario yang diinginkan.

6. Running test case yang telah dibuat

//Running semua test case
php artisan dusk

//Running test case yang gagal
php artisan dusk:fails

//Running test case secara spesifik
php artisan dusk -‐filter LoginTest

7. Hasil test akan muncul pada log dengan menunjukkan keterangan berhasil ataupun gagal.


Reference: Laravel Dusk - Laravel 10.x - The PHP Framework For Web Artisans