任何人都可以提供帮助,我无法让Laravel在我目前的Mac高山脉Laravel 5.6项目中运行默认的样本测试。
错误消息
时间:2.5分钟,内存:14.00MB
有1个错误:
1)测试\ Browser \ ExampleTest :: testBasicExample Facebook \ WebDriver \ Exception \ WebDriverCurlException:使用params将http POST发送到/ session的卷曲错误:{" desiredCapabilities":{" browserName":" chrome",& #34;平台":" ANY"" chromeOptions" {"二进制":" /用户/基思/桌面/黄昏/供应商/ laravel /黄昏/ bin中/ chromedriver-MAC"" ARGS":[" - 禁用-GPU&#34]}}}
操作在30002毫秒后收到0字节时超时
/Users/keith/Desktop/dusk/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:286 /Users/keith/Desktop/dusk/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:126 /Users/keith/Desktop/dusk/tests/DuskTestCase.php:40 /Users/keith/Desktop/dusk/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:189 /Users/keith/Desktop/dusk/vendor/laravel/framework/src/Illuminate/Support/helpers.php:770 /Users/keith/Desktop/dusk/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:190 /Users/keith/Desktop/dusk/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:92 /Users/keith/Desktop/dusk/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:64 /Users/keith/Desktop/dusk/tests/Browser/ExampleTest.php:21
我已经完成了以下工作:
使用Laravel \ Dusk \ DuskServiceProvider;
...
spawn
答案 0 :(得分:3)
如果您的功能是从DuskTestCase.php扩展的,那么您需要增加connection_timeout_in_ms。
通过将驱动程序方法更改为以下内容来完成此操作:
DuskTestCase.php
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--disable-gpu',
'--headless',
'--window-size=1920,1080',
]);
return RemoteWebDriver::create(
'http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
), 90000, 90000
);
}
如果由于某种原因而无法使用,请尝试在set_time_limit
之前$this->browse
set_time_limit(0);
答案 1 :(得分:1)
您确实需要安装最新的 google-chrome 和最新的 chrome 驱动程序。我曾经只有 Chrome 浏览器,但它不能使用它。要安装最新的 Chrome 驱动程序,请运行 php artisan dusk:chrome-driver
。
答案 2 :(得分:0)
在实例化浏览器时尝试执行此操作。.最重要的是$driver = retry(5, function () use ($capabilities) {
return RemoteWebDriver::create('http://localhost:9515', $capabilities, 60000, 60000);
下面是我实例化浏览器的方式
$options = (new ChromeOptions)->addArguments(['--disable-gpu', '--headless', '--no-sandbox']);
$capabilities = DesiredCapabilities::chrome()
->setCapability(ChromeOptions::CAPABILITY, $options)
->setPlatform('Linux');
$driver = retry(5, function () use ($capabilities) {
return RemoteWebDriver::create('http://localhost:9515', $capabilities, 60000, 60000);
}, 50);
$browser = new Browser($this->driver, new ElementResolver($driver, ''));