Laravel Dusk, kullanıcı arayüzünü, fonksiyonlarını ve özelliklerini test edebilmemizi sağlayan bir Browser Testing aracıdır.
Laravel Dusk, Selenium Driver’ı kurma prosedürlerinden uzak, Chrome Driver ve Facebook PHP webDriver üzerine kurulu kolayca çalıştırıp, test ortamına düşebileceğimiz bir araçtır.
Bu yazı dizimde, Laravel uygulamasına Dusk’ı kurmayı, kimlik doğrulama testi de olmak bir kaç temel test örneği üzerinde duracağım. Daha sonraki yazılımlarımda fırsat buldukça üzerine eğileceğim.
Neden Dusk?
Önceki Laravel sürümlerinde bir web tarayıcısını simüle etmek için Symfony BrowserKit bileşenini kullanıyordu. Bu gerçek bir tarayıcı olmadığı için sınırlamaları ve problemleri vardı. Dusk ile ChromeDriver ve Facebook Php-webdriver doğal olarak çalışır halde geliyor.
Dusk’un en önemli özelliklerinden biri de aynı zamanda testleri yapmadan önce, bir koşula bağlı olmasını yazabilmemiz. Örneğin, herhangi bir işlem yapmadan önce, bir JavaScript bileşeninin veya CSS seçicisinin yüklenmesini bekleyebiliriz. Böyle bir DOM yardımıyla işlemi tetikletebiliriz.
Kurulum
php composer.phar require laravel/dusk
app\Providers\AppServiceProvider.php dosyasına;
use Laravel\Dusk\DuskServiceProvider;// Importing DuskServiceProvider class ... public function register() { if ($this->app->environment('local', 'testing')) { $this->app->register(DuskServiceProvider::class); } }
kodlarını ekliyoruz. Ardından Dusk kurulumu yapıyoruz.
php artisan dusk:install
Şimdi de çalıştırılım.
php artisan dusk
Şuan artık ExampleTest klasöründeki
tests\Browser\ExampleTest.php
çalışmaya başlıyacak.
public function testBasicExample() { // Kök route'na git ve 'Bla' metnini gör. $this->browse(function (Browser $browser) { $browser->visit('/') ->assertSee('Bla'); }); }
Bir sonraki Dusk yazımda oturum açma(Auth) testini anlatacağım.
Bu konudaki sorularınızı yorum olarak bana ulaştırabilirsiniz.
İyi çalışmalar.