Laravel Dusk, etkileyici, kullanımı kolay bir tarayıcı otomasyonu ve test API'si sağlar. Varsayılan olarak,
Dusk yerel bilgisayarınıza
JDK veya
Selenium yüklemenizi gerektirmez. Bunun yerine,
Dusk bağımsız bir
ChromeDriver yüklemesi kullanır. Ancak, dilediğiniz diğer
Selenium uyumlu sürücüleri kullanmakta özgürsünüz.
Kurulum
Başlamak için
Google Chrome'u yüklemeli ve projenize
laravel/dusk Composer bağımlılığını eklemelisiniz:
composer require laravel/dusk --dev
Dipnot : Dusk'ın servis sağlayıcısını manuel olarak kaydediyorsanız, bunu asla üretim ortamınıza kaydetmemelisiniz; çünkü bunu yapmanız, rastgele kullanıcıların uygulamanızla kimlik doğrulaması yapmasına yol açabilir.
Dusk paketini yükledikten sonra,
dusk:install Artisan komutunu çalıştırın.
dusk:install komutu bir
tests/Browser dizini, bir örnek
Dusk testi oluşturacak ve işletim sisteminiz için
Chrome Sürücü ikilisini yükleyecektir:
php artisan dusk:install
Sonra, uygulamanızın
.env dosyasında
APP_URL ortam değişkenini ayarlayın. Bu değer, bir tarayıcıda uygulamanıza erişmek için kullandığınız URL ile eşleşmelidir.
Dipnot : Yerel geliştirme ortamınızı yönetmek için
Laravel Sail kullanıyorsanız, lütfen
Dusk testlerini yapılandırma ve çalıştırma ile ilgili
Sail belgelerine de bakın.
ChromeDriver Kurulumlarını Yönetme Laravel Dusk'ın
dusk:install komutuyla yüklediğinden farklı bir
ChromeDriver sürümü yüklemek isterseniz,
dusk:chrome-driver komutunu kullanabilirsiniz:
# Install the latest version of ChromeDriver for your OS...
php artisan dusk:chrome-driver
# Install a given version of ChromeDriver for your OS...
php artisan dusk:chrome-driver 86
# Install a given version of ChromeDriver for all supported OSs...
php artisan dusk:chrome-driver --all
# Install the version of ChromeDriver that matches the detected version of Chrome / Chromium for your OS...
php artisan dusk:chrome-driver --detect
Dipnot : Dusk,
chromedriver ikili dosyalarının çalıştırılabilir olmasını gerektirir.
Dusk'ı çalıştırırken sorun yaşıyorsanız, şu komutu kullanarak ikili dosyaların çalıştırılabilir olduğundan emin olmalısınız:
chmod -R 0755 vendor/laravel/dusk/bin/. Diğer Tarayıcıları Kullanma
Varsayılan olarak,
Dusk tarayıcı testlerinizi çalıştırmak için
Google Chrome ve bağımsız bir
ChromeDriver kurulumunu kullanır. Ancak, kendi Selenium sunucunuzu başlatabilir ve testlerinizi istediğiniz herhangi bir tarayıcıda çalıştırabilirsiniz. Başlamak için, uygulamanız için temel
Dusk test durumu olan
tests/DuskTestCase.php dosyanızı açın. Bu dosyada,
startChromeDriver yöntemine yapılan çağrıyı kaldırabilirsiniz. Bu, Dusk'un
ChromeDriver'ı otomatik olarak başlatmasını durduracaktır:
/**
* Prepare for Dusk test execution.
*
* @beforeClass
*/
public static function prepare(): void
{
// static::startChromeDriver();
}Sonra, sürücü yöntemini istediğiniz URL ve porta bağlanacak şekilde değiştirebilirsiniz. Ek olarak,
WebDriver'a geçirilmesi gereken "istenen yetenekleri" değiştirebilirsiniz:
use Facebook\WebDriver\Remote\RemoteWebDriver;
/**
* Create the RemoteWebDriver instance.
*/
protected function driver(): RemoteWebDriver
{
return RemoteWebDriver::create(
'http://localhost:4444/wd/hub', DesiredCapabilities::phantomjs()
);
}