Laravelでブラウザテストを実行する(Laravel Dusk)
いままでブラウザテストの環境は、Codeceptionとか、Seleniumとか使っていたのですが、PHP環境だとしっくりくるブラウザテスト環境がありませんでした。多分好みの問題だけど。
会社でよくつかっているLaravelにも標準でブラウザテスト環境が用意されているので、いままで使っていなかったですが、せっかくなので使ってみました。
Laravel Dusk
https://laravel.com/docs/5.5/dusk
会社でよくつかっているLaravelにも標準でブラウザテスト環境が用意されているので、いままで使っていなかったですが、せっかくなので使ってみました。
Laravel Dusk
https://laravel.com/docs/5.5/dusk

Duskは「夕暮れ」のことです。
上記の公式ドキュメントによると、JDKとかSeleniumとかが不要で、スタンドアロンでChromeDriverを利用するよ、とのことです。
また、他のSelenum互換のドライバも利用できるようです。
上記の公式ドキュメントによると、JDKとかSeleniumとかが不要で、スタンドアロンでChromeDriverを利用するよ、とのことです。
また、他のSelenum互換のドライバも利用できるようです。
Laravel Duskをcomposerで追加インストールします。
>composer require --dev laravel/dusk You are running Composer with SSL/TLS protection disabled. Using version ^2.0 for laravel/dusk ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 2 installs, 0 updates, 0 removals - Installing facebook/webdriver (1.5.0): Downloading (100%) - Installing laravel/dusk (v2.0.8): Downloading (100%) Writing lock file Generating optimized autoload files > Illuminate\Foundation\ComposerScripts::postUpdate > php artisan optimize
composer.jsonの様子。
{ "name": "laravel/laravel", "description": "The Laravel Framework.", // 略 , "require-dev": { "fzaninotto/faker": "~1.4", "laravel/dusk": "^2.0", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~5.7" },
artisanでDuskのscaffoldを作成します。
>php artisan dusk:install Dusk scaffolding installed successfully.
できました!

失敗したけどうごいた(標準ではヘッドレス Chromeで動作するため見た目は何も変化なし)

失敗すると、勝手にスクリーンショットが取得されます。

ExampleTest.phpで比較文字列が”Laravel”になっていた
$this->browse(function (Browser $browser) { $browser->visit('/')->assertSee('Laravel'); });けど存在しないので、存在する文字列で比較。
成功

以上。選択肢が増えるのはいいことです
https://blog.e2info.co.jp/2017/12/18/laravel_dusk/Laravelでブラウザテストを実行する(Laravel Dusk)
kaneko tomo
2017年12月18日
関連記事
centos7 vagrant ansbileでlocalectlを日本設定
お久しぶりです。S.Iです。 育児休暇をいただき、職場復帰して約1か月。 退社→…
AWS環境で、EC-CUBEのtimezoneがおかしくなった話
~経緯~ 現在、案件でAWS環境でEC-CUEBの構築をしています。 テストで受…
concrete5のインストール
はじめに concrete5はCMS(コンテンツ管理システム)の一種で、ウェブサ…
次の投稿 →
画像使用時に