乐趣区

laradock-中安装-Laravel-Dusk

导语

在本地安装 Laravel Dusk 一直失败,查了文档才发现在 laradock 中并不是只需要 composer require 就可以的,还有其他配置。下面记录一下。

配置 laradock

  1. 切换到 laradock 目录中,将 workspace 容器先暂停 docker-compose sotp workspace
  2. 修改 .env 文件中的 WORKSPACE_INSTALL_LARAVEL_INSTALLERWORKSPACE_INSTALL_DUSK_DEPS,将配置值改为 true
  3. 重新搭建 workspace 容器 docker-compose build workspace
  4. 成功之后启动 docker-compose up -d workspace

安装 Laravel Dusk

  1. 进入到 workspace 容器中 docker-compose exec workspace bash,并且切换到项目目录中
  2. 使用 composer require --dev laravel/dusk 安装 Laravel Dusk
  3. 执行 php artisan dusk:install
  4. 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)
    );
}
  1. 添加一个配置文件,cp .env .env.dusk.local,将 APP_URL 修改为 http://localhost:8000
  2. 执行 php artisan serve —-quiet &
  3. 最后可以使用 Laravel Dusk 进行测试了 php artisan dusk

结语

其实在 workspace 中有很多 alias 可是使用,为了便于理解,都是用了原命令。
关于 Laravel Dusk 的使用,可以参考这个教程,其中不止关于测试的部分,其他部分很好。


参考资料:在 Laravel 中基于 Dusk 实现浏览器自动化测试快速入门、laradock 文档。

退出移动版