Laravel dusk + docker-compose + selenium + firefox: 未定义索引元素

Laravel dusk + docker-compose + selenium + firefox: Undefined index ELEMENT

我有 docker-合成了 3 张图像 - webserverdbselenium

我启动它然后执行到网络服务器和 运行 php artisan dusk

我的应用程序是 returns Welcome 几个 div 的简单 https 页面。 但是我得到了 ErrorException: Undefined index: ELEMENT.

image: selenium/standalone-firefox.

test:
...
$this->browse(function (Browser $browser) use ($user) {
  $browser
    ->visit('/home')
    ->assertSee('Welcome');
});


DuskTestCase.php
...
protected function driver() {
  return RemoteWebDriver::create(
    'http://selenium:4444/wd/hub', DesiredCapabilities::firefox()->setCapability(
      'acceptInsecureCerts', true
    )
  );
}

这是由于 geckodriver 和 Selenium 之间的不兼容造成的:

https://github.com/facebook/php-webdriver/issues/492

对于 Firefox 和 Selenium,您需要将 enablePassThrough=false 添加到 Selenium 功能中。

类似于:

protected function driver() {
  return RemoteWebDriver::create(
    'http://selenium:4444/wd/hub', DesiredCapabilities::firefox()
        ->setCapability('acceptInsecureCerts', true)
        ->setCapability('enablePassThrough', false)
  );
}

应该可以解决问题。