可以在CLI工具中启动ChromeDriver,但不允许连接

时间:2019-02-28 07:34:40

标签: laravel selenium-chromedriver homestead

我正在使用Laravel宅基地,并且正在编写一个工匠命令行工具,我需要使用javascript执行浏览我的网站。

我定期进行黄昏测试没有困难,所以我认为我将使用Laravel的工具编写此脚本。

我首先在脚本中运行了此代码:

\Laravel\Dusk\TestCase::startChromeDriver();

这开始在以用户vagrant(默认宅基用户)运行的端口9515上运行驱动程序正常

但是当我尝试访问它(也可以从脚本中)时,会出现错误:

Failed to connect to localhost port 9515: Connection refused

如果我改为在命令行上手动启动它:

$ ./vendor/laravel/dusk/bin/chromedriver-linux --port=9515

驱动程序再次以用户vagrant的身份在端口9515上运行正常,但是这次我的工具运行正常。

但是我真的很希望能够从该工具中启动ChromeDriver。所以我也尝试过:

$process = new \Symfony\Component\Process\Process('./vendor/laravel/dusk/bin/chromedriver-linux --port=9515');
$process->start();

连接再次被拒绝。

有人知道为什么当我从命令行启动而不是在artisan命令中启动时会起作用吗?

1 个答案:

答案 0 :(得分:0)

我无法解释为什么会有所不同,但确实有所不同。如果我以完整路径启动驱动程序:

/home/vagrant/Code/mysite/vendor/laravel/dusk/bin/chromedriver-linux --port=8888

现在一切正常。