1

我有 docker-compose 和 3 张图片-webserver和.dbselenium

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

我的应用程序是一个简单的 https 页面,它会返回Welcome几个div. 但我得到了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
    )
  );
}
4

1 回答 1

0

这是由于 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)
  );
}

应该可以解决问题。

于 2017-12-08T21:24:07.333 回答