运行Laravel Dusk的错误

问题描述 投票:1回答:1

我刚刚发现了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)应该修复它我认为,但我仍然得到错误。

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

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

laravel phpstorm laravel-dusk
1个回答
3
投票

您可以自己将chromedriver安装到Windows中,并尽量不要使用laravel黄昏附带的版本。请注意,您的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得到更新时仍然会导致问题。

BTW。提一下。这也适用于使用docker的CI工作流程。你可以阅读更多关于它here

© www.soinside.com 2019 - 2024. All rights reserved.