运行Laravel Dusk的错误

时间:2017-09-26 02:20:31

标签: laravel phpstorm laravel-dusk

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

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

我发现这个(Binding an .AAR)我认为应该修复它,但我仍然得到错误。

另外,我尝试按照接受的答案(https://github.com/laravel/dusk/pull/13/files)通过PhpStorm运行黄昏测试,但是我收到Class config does not exist错误。很多人说这是由.env文件中的空格引起的,但这不是我的问题。

有人可以帮我弄清楚Laravel Dusk在我的设置中发生了什么吗?我的Laravel项目是5.4,我使用Laravel Dusk 1.0和PhpStorm是2017.2.1

1 个答案:

答案 0 :(得分:3)

您可以自行将 chromedriver 安装到Windows中,并尽量不要使用laravel dusk附带的版本。请注意,您的chromedriver版本需要与您当前安装的Chrome版本相匹配,当Chrome更新后,您需要再次手动更新/重新安装chromedriver。希望它不会经常发生,并且当有更新时,您将受益于使用最新版本,我发现它非常好:) Download it here.

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

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

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

我不知道你的系统设置是什么,但是我在使用Laravel 5.5,dusk 2.0的Windows 10上使用这种解决方法,当chrome更新时,这仍然会导致问题。

顺便说一句。提一下。这也适用于使用docker的CI工作流程。您可以阅读更多相关信息here