2

我刚刚发现了 Laravel Dusk,我很高兴能在我的项目中使用它。但是,它似乎无法让它工作。我按照 Laravel 文档安装 Dusk。当我php artisan dusk在终端运行时,我得到

  [Symfony\Component\Process\Exception\RuntimeException]
  TTY mode is not supported on Windows platform.

我发现了这个(https://github.com/laravel/dusk/pull/13/files),我认为应该可以修复它,但我仍然得到错误。

此外,我尝试按照此处接受的答案(https://laracasts.com/discuss/channels/testing/dusk-via-phpstorm)通过 PhpStorm 运行 Dusk 测试,但出现Class config does not exist错误。很多人说这是 .env 文件中的空格造成的,但这不是我的问题。

谁能帮我弄清楚 Laravel Dusk 在我的设置中发生了什么?我的 Laravel 项目是 5.4,我使用的是 Laravel Dusk 1.0,PhpStorm 是 2017.2.1

4

1 回答 1

4

chromedriver可以自行安装到 windows 中,尽量不要使用 laravel 黄昏自带的版本。请记住,您的 chromedriver 版本需要与您当前安装的 Chrome 版本匹配,当 Chrome 更新时,您需要再次手动更新/重新安装 chromedriver。希望它不会经常发生,当有更新时,您可以从使用最新版本中受益,我觉得这非常好:) 在这里下载。

安装chromedriver后,您需要从命令行启动它(只需在下载/安装目录中发出命令chromedriver)或将其添加为服务(我不喜欢,因为我想控制在 9515 端口上运行的服务) .

最后你需要// static::startChromeDriver();在你的 DuskTestCase.php 中注释掉,它会尝试启动 laravel 黄昏包含的 chromedriver,因为在这种情况下,你已经在运行一个。

再次运行黄昏测试,一切都应该正常工作。

我不知道您的系统设置是什么,但我在带有 Laravel 5.5、黄昏 2.0 的 Windows 10 上使用此解决方法,当 chrome 更新时仍然会导致问题。

顺便提一句。顺便提一下。这也适用于使用 docker 的 CI 工作流。你可以在这里阅读更多关于它的信息

于 2017-12-20T22:17:59.947 回答