Может запускать ChromeDriver в инструменте CLI, но не разрешает подключения - PullRequest
0 голосов
/ 28 февраля 2019

Я использую усадьбу Laravel и пишу небольшой инструмент командной строки кустарного промысла, который мне нужен, чтобы просматривать мой сайт с помощью выполнения javascript.

Я регулярно запускаю сумерки без проблем, поэтому я подумал, чтобудет использовать инструменты Laravel для этого сценария.

Я начал с запуска этого сценария в начале:

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

Это запустило драйвер, работающий нормально на порту 9515, работающем от имени пользователя vagrant (пользователь усадьбы по умолчанию)

Но когда я попытался получить к нему доступ (также из скрипта), я получил бы ошибку:

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();

В соединении снова было отказано.

Есть идеи, почему это работает, когда я запускаю его из командной строки, но не в рамках своей команды ремесленника?

1 Ответ

0 голосов
/ 01 марта 2019

Я не могу объяснить, почему это имеет значение, но оно имеет.Если я запускаю драйвер с полным путем:

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

теперь все работает нормально.

...