Setelan pengujian Laravel Dusk yang berdiri sendiri, yang tidak memerlukan kerangka Laravel itu sendiri.
Laravel Dusk menyediakan otomatisasi browser dan API pengujian yang ekspresif dan mudah digunakan. Secara default, Dusk tidak mengharuskan Anda menginstal JDK atau Selenium di mesin Anda. Sebaliknya, Dusk menggunakan driver Chrome yang berdiri sendiri. Namun, Anda bebas menggunakan driver Selenium lain yang Anda inginkan.
Untuk memulai, Anda harus menambahkan ketergantungan Composer unglud/dusker ke proyek Anda:
composer require --dev unglud/dusker
Selanjutnya, Anda perlu menyalin semua file yang diperlukan ke direktori kerja Anda. Perintah di bawah ini akan melakukannya untuk Anda. Itu membuat (atau menggunakan yang ada) direktori tests
dan meletakkan file di sana. Selain itu, ia menyalin utilitas konsol artisan
ke direktori root proyek Anda. Jika Anda sudah memiliki file ini, maka file tersebut akan ditimpa!
File .env.dusk
juga akan berada di root proyek Anda, yang perlu Anda ganti namanya menjadi .env
atau salin kontennya ke file yang sudah ada.
composer run-script post-install-cmd -d ./vendor/unglud/dusker
Jika Anda ingin file-file ini diperbarui secara otomatis setiap kali Anda memperbarui paket ini, Anda dapat menambahkan ini ke file composer.json
Anda:
"scripts": { "post-install-cmd": [ "DuskerCopyFile::copy" ], "post-update-cmd": [ "DuskerCopyFile::copy" ] }, "extra": { "copy-file": { "vendor/unglud/dusker/src/example/": "tests/", "vendor/unglud/dusker/artisan": "artisan" } }
Seperti yang Anda perhatikan, file .env.dusk
tidak disertakan di sana untuk menyederhanakan.
Setelah menginstal paket, perintah Artisan akan tersedia dari proyek root Anda. Jalankan perintah dusk:install
Artisan:
php artisan dusk:install
Sekarang coba jalankan tes untuk memastikan semuanya berfungsi
php artisan dusk
Setelah bagian ini Anda dapat menggunakan dokumentasi resmi untuk Dusk di situs web Laravel, karena ini akan berfungsi persis seperti yang dirancang oleh Taylor Otwell.
Seringkali, Anda akan menguji halaman yang memerlukan otentikasi. Anda dapat menggunakan metode loginAs Senja untuk menghindari interaksi dengan layar login selama setiap pengujian. Metode loginAs menerima login
dan password
pengguna:
$this->browse(function (Browser $browser) { $browser->loginAs('username', 'password') ->visit('/home'); });
Setelah menggunakan metode loginAs, sesi pengguna akan dipertahankan untuk semua pengujian dalam file.
Karena kita tidak memiliki akses ke Auth
dan Router
asli dari Laravel, karena kita menggunakannya tanpa Laravel kita perlu mengatur fungsionalitas login. Di .env
Anda harus menentukan LOGIN_ENDPOINT
-- jalur ke direktori publik Anda tempat Dusker akan menyalin file yang dapat diakses dari browser. Secara default, http://example.com/_dusker/login.php
. LOGIN_IMPLEMENTATION
kedua -- jalur ke kelas Anda, yang memanfaatkan logika proyek Anda yang memungkinkan Otentikasi. Anda dapat menggunakan /tests/LoginManagerExample.php
sebagai contoh tampilannya.
Dusker dirilis di bawah Lisensi MIT. Lihat file LISENSI yang dibundel untuk detailnya.