在本地安裝 Laravel Dusk 一直失敗,查了文檔才發如今 laradock 中並非只須要 composer require
就能夠的,還有其餘配置。下面記錄一下。php
laradock
目錄中,將 workspace
容器先暫停 docker-compose sotp workspace
.env
文件中的 WORKSPACE_INSTALL_LARAVEL_INSTALLER
和 WORKSPACE_INSTALL_DUSK_DEPS
,將配置值改成 true
workspace
容器 docker-compose build workspace
docker-compose up -d workspace
workspace
容器中 docker-compose exec workspace bash
,而且切換到項目目錄中composer require --dev laravel/dusk
安裝 Laravel Duskphp artisan dusk:install
tests/DuskTestCase.php
文件中,修改 driver
方法,添加 —-no-sandbox
參數,以下protected function driver() { $options = (new ChromeOptions)->addArguments([ '—disable-gpu', '—headless', '—window-size=1920,1080', '—no-sandbox',// 添加這行 ]); return RemoteWebDriver::create( 'http://localhost:9515', DesiredCapabilities::chrome()->setCapability( ChromeOptions::CAPABILITY, $options ) ); }
cp .env .env.dusk.local
,將 APP_URL
修改成 http://localhost:8000
php artisan serve —-quiet &
php artisan dusk
其實在 workspace
中有不少 alias 但是使用,爲了便於理解,都是用了原命令。
關於 Laravel Dusk 的使用,能夠參考這個教程,其中不止關於測試的部分,其餘部分很好。html
參考資料:在 Laravel 中基於 Dusk 實現瀏覽器自動化測試快速入門、laradock 文檔。laravel