在本地安装 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