導語
在本地安裝 Laravel Dusk 一直失敗,查了文檔才發現在 laradock 中並不是只需要 composer require
就可以的,還有其他配置。下面記錄一下。
配置 laradock
- 切換到
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
安裝 Laravel Dusk
- 進入到
workspace
容器中docker-compose exec workspace bash
,並且切換到項目目錄中 - 使用
composer require --dev laravel/dusk
安裝 Laravel Dusk - 執行
php 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 &
- 最後可以使用 Laravel Dusk 進行測試了
php artisan dusk
結語
關於 Laravel Dusk 的使用,可以參考這個教程,其中不止關於測試的部分,其他部分很好。