###実現したいこと
Laravel5.4からブラウザテストが使用できるとのことでブラウザテストを行いたいと思っています。
(経緯としてユニットテストしていたのですが5.4からvisit()やsee()が使えないみたいなのでLaravel Duskをやってみようと思いました。下記使用ができないソースコード例を載せます)
visit()に関してはget()やcall()では動くことを確認していますが、入力フォームなどのテストをしたい時にtype()や、press()がエラーになるのでエラー解決方法か、Laravel Duskのエラー解決方法をご教授いただきたいです。
###ユニットテスト:エラーになるソースコード(例)
PHP
1<?php 2 3use Illuminate\Foundation\Testing\WithoutMiddleware; 4use Illuminate\Foundation\Testing\DatabaseTransactions; 5 6class ExampleTest extends TestCase 7{ 8 /** 9 * A basic functional test example. 10 * 11 * @return void 12 */ 13 public function testBasicExample() 14 { 15 //TOPページのHTTPテスト 16 $this->visit('/') //$this->call('GET','/')で確認済み 17 ->see('Laravel 5'); 18 } 19 20 public function testRegister() 21 { 22 //入力画面のテスト 23 $user = factory(User::class)->make(); 24 $this->actingAs($user,'api'); 25 26 $this->visit('/users/apply') 27 ->see('入力画面') 28 ->seeInField('your_name', '') // フィールド内の表示の確認 29 ->seeIsSelected('prefecture', '') // セレクトボックスの場合 30 ->type('山田太郎', 'your_name') // テキストボックスの入力 31 ->select('tokyo', 'prefecture') // セレクトボックスの選択 32 ->type('male', 'sex') // ラジオボタンの入力 33 ->press('登録する') 34 ->seeStatusCode(200) 35 ->see('登録が完了しました'); 36 } 37}
###エラーメッセージ
一部抜粋 PHP Fatal error: Call to undefined method ExampleTest::see()
###Laravel Duskのインストールからエラーメッセージまで
1: composer require --dev laravel/dusk
にてインストール
2: AppServiceProvider
に下記のように追記
use Laravel\Dusk\DuskServiceProvider; /** * Register any application services. * * @return void */ public function register() { if ($this->app->environment('local', 'testing')) { $this->app->register(DuskServiceProvider::class); } }
3: php artisan dusk:install
済み
4: DuskTestCase.php
を修正
/tests/DuskTestCase.php public static function prepare() { // static::startChromeDriver(); 自動で立ち上げないようにコメントアウト } /** * Create the RemoteWebDriver instance. * * @return \Facebook\WebDriver\Remote\RemoteWebDriver */ protected function driver() { return RemoteWebDriver::create( 'http://127.0.0.1:9515/', DesiredCapabilities::chrome() ); }
エラーメッセージ
1) Tests\Browser\ExampleTest::testBasicExample Facebook\WebDriver\Exception\WebDriverCurlException: Curl error thrown for http POST to /session with params: {"desiredCapabilities":{"browserName":"chrome","platform":"ANY"}} Failed to connect to 127.0.0.1 port 9515: Connection refused ERRORS! Tests: 1, Assertions: 0, Errors: 1.
上記サイトを試してみました(手順が多いのでURLにさせていただきます)
###補足情報(言語/FW/ツール等のバージョンなど)
PHPビルドインサーバ使用
####参考URL
https://laravel.com/docs/5.4/dusk
http://takayukii.me/post/20160827872
理解できていない部分が多いかと思います。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/27 01:22
2017/08/14 02:59