我正在使用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
驱动程序再次运行在端口9515上作为用户vagrant
再次运行,但这次我的工具运行正常。
但我真的希望能够从该工具中启动ChromeDriver。所以我也尝试过:
$process = new \Symfony\Component\Process\Process('./vendor/laravel/dusk/bin/chromedriver-linux --port=9515');
$process->start();
连接再次被拒绝。
知道为什么当我从命令行启动它而不是在我的工匠命令中时这是有效的吗?
我无法解释为什么这会产生影响,但它有。如果我使用完整路径启动驱动程序:
/home/vagrant/Code/mysite/vendor/laravel/dusk/bin/chromedriver-linux --port=8888
一切正常。