Laravelでブラウザテストを試してみる


Laravelでブラウザテストを試してみる。

環境

  • Laravel 5.5

手順

laravel duskの追加

composer require --dev laravel/dusk:"^2.0"
php artisan dusk:install

サンプルテストの確認

tests/Browser/
配下にExampleTest.phpが作成されている

<?php

namespace Tests\Browser;

use Tests\DuskTestCase;
use Laravel\Dusk\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;

class ExampleTest extends DuskTestCase
{
    /**
     * A basic browser test example.
     *
     * @return void
     */
    public function testBasicExample()
    {
        $this->browse(function (Browser $browser) {
            $browser->visit('/')
                    ->assertSee('Laravel');
        });
    }
}
  • /のURLにアクセスして、Laravelという文字があればOK。となる。
  • この/でアクセスされる画面はresources/views/welcome.blade.phpになっている。

.envを修正

ここで詰まった。ポート番号を指定していないと、テスト結果がFalseになるみたいなので修正。

APP_URL=http://localhost:8000

テスト開始

php artisan serve
php artisan dusk

PHPUnit 6.5.13 by Sebastian Bergmann and contributors.

.                                                                   1 / 1 (100%)

Time: 1.88 seconds, Memory: 10.00MB

OK (1 test, 1 assertion)

成功!

参考

https://readouble.com/laravel/5.5/ja/dusk.html
https://stackoverflow.com/questions/46507791/laravel-5-5-dusk-could-not-work