Laravel dusk chrome 驱动程序超时

KKO*_*KOA 4 macos laravel laravel-dusk

任何人都可以帮忙吗,我无法让 Laravel dusk 在 mac high Sierra 上当前的 Laravel 5.6 项目中运行默认示例测试。

错误信息

时间:2.5 分钟,内存:14.00MB

有 1 个错误:

1) Tests\Browser\ExampleTest::testBasicExample Facebook\WebDriver\Exception\WebDriverCurlException:http POST 到 /session 时抛出 Curl 错误,参数为:{“desiredCapability”:{“browserName”:“chrome”,“platform”:“ANY ","chromeOptions":{"binary":"/Users/keith/Desktop/dusk/vendor/laravel/dusk/bin/chromedriver-mac","args":["--disable-gpu"]}}}

操作在 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

我已经完成了以下操作:

  • 将以下内容添加到 app\Providers\AppServiceProvider.php

使用 Laravel\Dusk\DuskServiceProvider;

...

public function register()

{

    if ($this->app->environment('local', 'testing')) {

        $this->app->register(DuskServiceProvider::class);
    }

}
Run Code Online (Sandbox Code Playgroud)
  • 在终端中运行“php artisan dusk:install”
  • 将 .env 中的 App_URL 设置为http://localhost:8000
  • 在 DuskTestCase 中指定了 chromedriver 的位置
  • 在运行“php artisan dusk”之前启动“php artisanserve”

存储库: https: //github.com/KKOA/dusk

Uni*_*cco 5

如果您的函数从 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
        );
    }
Run Code Online (Sandbox Code Playgroud)

如果由于某种原因这不起作用,请先set_time_limit尝试$this->browse

set_time_limit(0);
Run Code Online (Sandbox Code Playgroud)