前提
dockerで立ち上げたlaravel環境からdocker上のselenium-hubを使って
laravel duskテストをしようとしても、selenium-hubへの接続に失敗してテストできないです。
selenium-hubは正常に動いており、laravel環境も正常です。
発生している問題・エラーメッセージ
php artisan dusk
を実行すると下記のようなエラーが出力されます。
PHPUnit 9.5.23 #StandWithUkraine E 1 / 1 (100%) Time: 00:09.458, Memory: 10.00 MB There was 1 error: 1) Tests\Browser\ExampleTest::testBasicExample TypeError: Facebook\WebDriver\Remote\JsonWireCompat::getElement(): Argument #1 ($rawElement) must be of type array, string given, called in /var/www/html/0002_breeze/vendor/php-webdriver/webdriver/lib/Remote/RemoteWebDriver.php on line 214 /var/www/html/0002_breeze/vendor/php-webdriver/webdriver/lib/Remote/JsonWireCompat.php:21 /var/www/html/0002_breeze/vendor/php-webdriver/webdriver/lib/Remote/RemoteWebDriver.php:214 /var/www/html/0002_breeze/vendor/laravel/dusk/src/Browser.php:329 /var/www/html/0002_breeze/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:144 /var/www/html/0002_breeze/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php:262 /var/www/html/0002_breeze/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:150 /var/www/html/0002_breeze/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:76 /var/www/html/0002_breeze/tests/Browser/ExampleTest.php:21 ERRORS! Tests: 1, Assertions: 0, Errors: 1.
該当のソースコード
root.env
1DUSK_DRIVER_URL="http://localhost:4444"
root\tests\DuskTestCase.php
1 /** 2 * Create the RemoteWebDriver instance. 3 * 4 * @return \Facebook\WebDriver\Remote\RemoteWebDriver 5 */ 6 protected function driver() 7 { 8 $options = (new ChromeOptions)->addArguments(collect([ 9 $this->shouldStartMaximized() ? '--start-maximized' : '--window-size=1920,1080', 10 ])->unless($this->hasHeadlessDisabled(), function ($items) { 11 return $items->merge([ 12 '--disable-gpu', 13 '--headless', 14 '--no-sandbox', 15 ]); 16 })->all()); 17 18 return RemoteWebDriver::create( 19 $_ENV['DUSK_DRIVER_URL'] ?? 'http://localhost:9515', 20 DesiredCapabilities::chrome()->setCapability( 21 ChromeOptions::CAPABILITY, $options 22 ) 23 ); 24 }

あなたの回答
tips
プレビュー