LoginSignup
6
5

More than 5 years have passed since last update.

Laravel 5.4 のDuskを実行するとエラーになる場合の対処

Posted at

結論から言うと

Dusk内部で使用しているSeleniumのChromeDriverがパーミッションの問題で起動できていなかった
以下のコマンドで実行権限を付与する

cd [Laravelのディレクトリ]
chmod 755 vendor/laravel/dusk/bin/*

経緯

Laravleの実行環境は macOS Sierra + Laradock
公式ドキュメントや各種紹介記事と同じようにDuskを導入して実行するとエラーが発生
(LaradockのworkspaceコンテナにChromeは入っていないのでDuskはMac上で実行)

エラーメッセージは特に表示されない

php artisan dusk
PHPUnit 5.7.21 by Sebastian Bergmann and contributors.

E                                                                   1 / 1 (100%)

Time: 366 ms, Memory: 13.00MB

There was 1 error:

1) Tests\Browser\ExampleTest::testBasicExample

テスト実行前に落ちてる気配がするので、例外を捕まえて無理やりメッセージを表示できるか試みる

ExampleTest.php
class ExampleTest extends DuskTestCase
{
    /**
     * A basic browser test example.
     *
     * @return void
     */
    public function testBasicExample()
    {
        try{
            $this->browse(function (Browser $browser) {
                $browser->visit('/')
                    ->assertSee('Laravel');
            });

        }catch (\Exception $e){
            echo "\n";
            echo $e->getMessage();
            echo "\n";
            throw $e;
        }
    }
}

エラー内容の確認に成功
(9515ポートはChromeDriverが待ち受けているはずのポート)

php artisan dusk
PHPUnit 5.7.21 by Sebastian Bergmann and contributors.

E                                                                   1 / 1 (100%)
Curl error thrown for http POST to /session with params: {"desiredCapabilities":{"browserName":"chrome","platform":"ANY"}}

Failed to connect to localhost port 9515: Connection refused


Time: 369 ms, Memory: 13.00MB

There was 1 error:

1) Tests\Browser\ExampleTest::testBasicExample

Google検索した所、ポートの競合or権限不足で起動失敗の可能性
ポートの競合はなかったので実行権限を付加したところ無事起動

duskインストールの際にcomposer updateをworkspaceコンテナで実行したせいで実行権限が付加されなかったのかも?

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5