Laravel Dusk Adalah: Pengertian, Penerapan Cara Kerja Pengujiannya

Laravel Dusk Adalah: Pengertian, Penerapan Cara Kerja Pengujiannya

Tool ini dapat membantu Anda melakukan testing untuk aplikasi web, termasuk aplikasi yang ada JavaScript-nya sekalipun.

Pengujian secara otomatis dan menyeluruh untuk aplikasi web yang sudah Anda buat tanpa perlu klik sana sini. Sebenarnya, seperti apa sih Laravel Dusk bekerja menguji aplikasi web?

Apa Itu Laravel Dusk
Source: Dev Community

Apa Itu Laravel Dusk

Laravel sendiri merupakan framework PHP open-source yang cukup populer di kalangan developer. Framework PHP ini menyediakan fitur pengujian atau testing, hanya saja tidak bisa digunakan untuk testing aplikasi yang menggunakan JavaScript.

Pengembang biasanya menggunakan Selenium untuk pengujian JavaScript ini. Namun, menyiapkan dan mempelajari proses testing aplikasi dengan Selenium mungkin cukup menyulitkan dan dinilai ribet bagi sebagian orang.

Oleh sebab itu, Laravel menawarkan sebuah solusi dengan merilis Laravel Dusk. Ini bisa jadi alternatif yang lebih mudah bagi pengembang untuk melakukan pengujian aplikasi mereka, termasuk aplikasi JavaScript.

Dusk adalah tool pengujian end-to-end (E2E) di aplikasi Laravel yang mudah digunakan. Open-source tool ini dibangun menggunakan instalasi ChromeDriver dan PHP WebDriver mandiri. Memungkinkan pengujian aplikasi web yang mudah tanpa harus memiliki pengalaman menggunakan Selenium.

Tool ini juga menyederhanakan proses pengujian dengan menghilangkan langkah-langkah rumit dalam pengujian aplikasi web oleh ChromeDrvier dan PHP WebDriver. Dengan Laravel Dusk, pengembang dapat menjalankan pengujian sekaligus melihat fungsionalitas fitur di sisi klien secara real time.

Baca Juga: Penggunaan Blade Templating Di Laravel

Mengapa Menguji Aplikasi?

Laravel Dusk: pengujian aplikasi web otomatis yang bisa membaca aplikasi JavaScript. Kenapa harus melakukan testing untuk aplikasi?

Setelah aplikasi dibuat, pengembang harus menjalankan serangkaian proses pengujian terhadap fungsionalitas aplikasi secara keseluruhan. Hal ini bertujuan untuk memastikan semua fungsi aplikasi bekerja sesuai dengan yang diharapkan.

Pengujian aplikasi web juga perlu dilakukan secara berkala, termasuk saat ada fitur atau modifikasi tambahan dibuat pada aplikasi Anda. Tujuannya untuk memastikan fitur atau perubahan yang dibuat tersebut tidak merusak fitur yang sudah ada sebelumnya.

Nah, dengan menguji aplikasi menggunakan Dusk ini dapat memberikan efisiensi dan kecepatan pengujian yang lebih baik.

Baca Juga: Panduan Integrasi Laravel Dengan Vue.js Lengkap Dan Jelas

Penyiapan dan Pemasangan Laravel Dusk

laravel dusk
Source: Laravel Article

Anda perlu melakukan instalasi atau pemasangan Laravel Dusk terlebih dahulu. Ikuti langkah-langkah berikut.

1. Buat proyek Laravel baru menggunakan command berikut:

composer create-project --prefer-dist laravel/laravel laravel-dusk-testing-example

Anda mungkin perlu menunggu beberapa waktu untuk menyelesaikan proses pembuatan project baru ini.

2. Pindah ke direktori project yang sudah dibuat

Selanjutnya, Anda perlu pindah ke direktori project yang sudah dibuat sebelumnya. Anda bisa menggunakan perintah berikut.

cd laravel-dusk-testing-example

3. Instal Laravel Dusk

Berikutnya adalah memasang Laravel Dusk menggunakan composer. Silakan menggunakan perintah seperti berikut.

composer require laravel/dusk --dev

4. Jalankan perintah artisan

Setelah memasang Laravel Dusk, langkah berikutnya adalah menjalankan perintah arisan seperti berikut.

php artisan dusk:install

Perintah ini juga akan membuat folder “browser” di dalam folder “tests” dan beberapa folder pengujian lainnya. Contoh lainnya adalah folder “screenshots” yang menjadi penyimpanan gambar layar (screenshot) saat pengujian aplikasi gagal.

5. Konfigurasi app_url dan database di file .env

Selanjutnya, Anda perlu menambah key app_url dan konfigurasi database di file .env dengan URL aplikasi Anda. Contohnya seperti berikut.

APP_URL=http://127.0.0.1:8000

DB_CONNECTION=mariadb
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_testing
DB_USERNAME=root
DB_PASSWORD=password

Cara Kerja Pengujian Aplikasi Web dengan Laravel Dusk

Laravel Dusk: pengujian aplikasi web otomatis yang bisa Anda gunakan untuk test secara keseluruhan. Untuk mulai menjalankan langkah pengujian ini, berikut perintah yang bisa digunakan.

Php artisan dusk

Command atau perintah di atas yang akan menjalankan contoh pengujian di test/browser/ExampleTest.php. Anda akan melihat method seperti berikut.

public function testBasicExample()
{
//Visit the homepage and look for the text 'Laravel'
$this->browse(function (Browser $browser) {
$browser->visit('/')
->assertSee('Laravel');
});
}

Pengujian Feature Register

Anda bisa menyesuaikan pengujian di Laravel Dusk dengan kebutuhan Anda. Misalnya untuk melakukan testing register, caranya seperti berikut.

  1. Buka halaman register
  2. Isi name, email, password
  3. Klik “register”
  4. Buka halaman dashboard
  5. Mulai jalankan testing

Jalankan perintah berikut untuk mulai pengujian fitur register dengan Dusk:

php artisan dusk:make RegisterTest

Setelah perintah di atas, output yang terlihat seperti berikut:

INFO Test [tests/Browser/RegisterTest.php] created successfully.

Selanjutnya buka test/browser/register.php untuk menghapus method testExample() dan tambahkan method user_can_register ()

<?php

namespace TestsBrowser;

use IlluminateFoundationTestingDatabaseMigrations;
use LaravelDuskBrowser;
use TestsDuskTestCase;

class RegisterTest extends DuskTestCase
{
 use DatabaseMigrations;

 /** @test */
 public function user_can_register(): void
 {
 $this->browse(function (Browser $browser) {
 // 1. User membuka halaman register.
 $browser->visit('/register')
 // 2. User mengisi `name`, `email` , `password` dan `konfirmasi password`.
 ->type('name', 'User')
 ->type('email', '[email protected]')
 ->type('password', 'password')
 ->type('password_confirmation', 'password')
 // 3. User klik button `REGISTER`.
 ->press('REGISTER')
 // 4. Web membuka halaman dashboard user.
 ->assertPathIs('/dashboard');
 });
 }
}

Jangan lupa untuk save file test/browser/registertest.php. Kondisi project Anda ini berarti masih dalam keadaan dijalankan (run). Berikut command yang bisa digunakan untuk pengujian fitur register.

php artisan dusk

Nanti, hasilnya atau output yang Anda lihat adalah sebagai berikut.

PASS TestsBrowserExampleTest
 ✓ basic example 0.47s 

 PASS TestsBrowserRegisterTest
 ✓ user can register 1.22s 

 Tests: 2 passed (2 assertions)
 Duration: 1.83s

Jika output yang terlihat seperti di atas, berarti pengujian untuk fitur register berjalan dengan baik.

Mengapa Menggunakan Laravel Dusk?

Laravel Dusk: pengujian aplikasi web otomatis yang dirancang khusus untuk pengguna aplikasi Laravel. Fitur ini memberikan kenyamanan tersendiri bagi pengguna yang ingin melakukan testing untuk aplikasi web.

1. Integrasi dengan Lingkungan Laravel

Salah satu keunggulan menggunakan Dusk ini adalah aplikasi yang terintegrasi dengan kerangka kerja Laravel. Hal tersebut menawarkan proses pengujian aplikasi yang lebih sederhana untuk aplikasi di Laravel.

2. Otomatisasi Browser

Laravel Dusk: pengujian aplikasi web otomatis yang memungkinkan interaksi browser seperti klik tombol, navigasi halaman, dan mengisi formulir dengan lebih mudah.

3. Sintaks Ekspresif

Laravel Dusk menawarkan sintaks ekspresif untuk menulis command untuk tes browser. Memudahkan penulisan dan pengujian terutama bagi developer yang sudah familiar dengan Laravel sebab penulisan kodenya menggunakan PHP.

4. Artisan

Dusk juga menjadi alat pengujian aplikasi web yang mudah karena hadir dengan Artisan command. Fitur ini sangat berguna bagi pengembang untuk dapat mengintegrasikan pengujian browser dengan pipeline berkelanjutan.

5. Screenshot dan Output Console

Tangkapan layar secara otomatis dibuat Laravel Dusk selama pengujian aplikasi web. Selain itu, Dusk juga menangkap output console yang dapat memudahkan pengembang dalam men-debug masalah.

Memungkinkan developer aplikasi untuk melakukan pengujian aplikasi besar dan kompleks dengan lebih efisien dan cepat.

Bagi Anda yang tertarik dengan pengembangan aplikasi web ini, Anda bisa ikut pelatihan Apps Developer di Course-Net. Di Course-Net kamu bisa menikmati pelatihan kursus laravel yang akan dibimbing oleh Coach Praktisi aktif kelas dunia

Belajar IT di Course-Net, Sampai bisa!

Masih Ga percaya ? Di Course-Net kamu Belajar Langsung Oleh Coach Praktisi Aktif Berpengalaman

Share: