php – 在无头(无GUI)机器上运行Laravel Dusk

随着最近Laravel 5.4的发布,我想我会试一试.就像Reddit上的Ozymandias-X一样,我也对它感到沮丧.

我的设置

> Windows 10作为主机;
> CentOS 7作为访客(没有GUI安装,没有Vagrant)
> Virtual Box的共享文件夹.

如果我打开机器并运行php artisan dusk,我会得到以下信息:

[08:14 AM]-[root@php7]-[/var/www/html/admin]-[git master]
# php artisan dusk
PHPUnit 5.7.11 by Sebastian Bergmann and contributors.

E                                                                   1 / 1 (100%)

Time: 25.91 seconds, Memory: 10.00MB

There was 1 error:

1) Tests\Browser\LoginTest::it_should_see_email_error_message
Facebook\WebDriver\Exception\WebDriverCurlException: Curl error thrown for http POST to /session with params: {"desiredCapabilities":{"browserName":"chrome","platform":"ANY","chromeOptions":{"binary":"\/usr\/lib64\/chromium-browser\/chromedriver","args":["no-first-run"]}}}

Operation timed out after 5001 milliseconds with 0 out of -1 bytes received

/var/www/html/admin/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:287
/var/www/html/admin/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:121
/var/www/html/admin/tests/DuskTestCase.php:42
/var/www/html/admin/vendor/laravel/dusk/src/TestCase.php:180
/var/www/html/admin/vendor/laravel/framework/src/Illuminate/Support/helpers.php:639
/var/www/html/admin/vendor/laravel/dusk/src/TestCase.php:181
/var/www/html/admin/vendor/laravel/dusk/src/TestCase.php:111
/var/www/html/admin/vendor/laravel/dusk/src/TestCase.php:85
/var/www/html/admin/tests/Browser/LoginTest.php:24

ERRORS!
Tests: 1, Assertions: 1, Errors: 1.

我试图遵循Mike Smith’s article,但手动执行./vendor/laravel/dusk/bin/chromedriver-linux并注释掉static :: startChromeDriver();来自DuskTestCase根本没有帮助.我也试过安装Xvfb并在port:0上手动运行它,同样的事情发生了.
最后,我尝试从/usr/lib64 / chromium-browser / chromedriver(2.25)手动运行驱动程序,完全没有变化.

我试图避免直接从Windows运行这个,因为我打算用无头/无gui linux进行CI过程,我将不得不设置我正在尝试的同样的事情.

最佳答案
注意:这不是公认的答案,因为真正的问题在于Cent OS.这个答案只是一个建议,而我们没有RedHat的解决方案.

问题出在Cent OS上.通过我在Ubuntu发行版上所做的一切,它很容易.基于this gistThis post om medium足以让任何人前进.如果链接断开,我将在这里强调一些要点.

依赖

# makes sure all your repos are up to date
sudo apt-get update
# chrome dependencies I think
sudo apt-get -y install libxpm4 libxrender1 libgtk2.0-0 libnss3 libgconf-2-4
# chromium is what I had success with on Codeship, so seemed a good option
sudo apt-get install chromium-browser
# XVFB for headless applications
sudo apt-get -y install xvfb gtk2-engines-pixbuf
# fonts for the browser
sudo apt-get -y install xfonts-cyrillic xfonts-100dpi xfonts-75dpi xfonts-base xfonts-scalable
# support for screenshot capturing
sudo apt-get -y install imagemagick x11-apps

运行Xvfb

Xvfb -ac :0 -screen 0 1280x1024x16 &

完成

转载注明原文:php – 在无头(无GUI)机器上运行Laravel Dusk - 代码日志