laravel - 运行 Laravel Dusk 时出错

标签 laravel phpstorm laravel-dusk

我刚刚发现了 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 exit 错误。很多人说这是由 .env 文件中的空格引起的,但这不是我的问题。

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

最佳答案

您可以自行将chromedriver安装到windows中,尽量不要使用laravel dusk自带的版本。请记住,您的 chromedriver 版本需要与当前安装的 Chrome 版本相匹配,当 Chrome 更新时,您需要再次手动更新/重新安装 chromedriver。希望这种情况不会经常发生,当有更新时,您可以从使用最新版本中受益,我觉得这真的很好:) Download it here.

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

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

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

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

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

关于laravel - 运行 Laravel Dusk 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46416870/

相关文章:

phpstorm - 无法解析外部 Xdebug 连接的服务器名称

php - 使用 Symfony2 依赖注入(inject)保留自动完成功能

laravel - 使用 phpunit.xml、.env.dusk.local 和 sqlite 内存数据库在 Dusk 中设置 Laravel 5.4

laravel - 我们如何使用 Laravel Dusk 检查 Twitter Bootstrap 单选按钮?

php - Laravel:如何将缓存和 session 分离到不同的redis数据库中?

php - Laravel Eloquent 困难关系查询

laravel - 架构生成器 Laravel 4 中的大整数

laravel - 在 Laravel 中使用无需身份验证的 api 路由

phpstorm - 如何在同一项目上使用多个 JetBrains IDE,而在它们之间切换时不会出现烦人的弹出窗口?

Laravel 黄昏 : How to get HTML from element?