我无法使用 Behat 连接到我的网站(但浏览器可以)

I can't connect to my site using Behat (but a browser is fine)

我刚刚开始使用 Behat,我非常喜欢它。然后我关掉电脑回家休息一天,当我回来的时候,一切都不再对我有用了。我一直在尝试对此进行故障排除,但看起来配置差异很大,我找不到适合我的任何东西。我收到以下错误

Given I am on the homepage                  # Drupal\DrupalExtension\Context\MinkContext::iAmOnHomepage()
      Could not open connection: Curl error thrown for http POST to http://localhost:4444/wd/hub/session with params: {"desiredCapabilities":{"tags":["rio","PHP 5.5.9-1ubuntu4.9"],"browser":"firefox","version":"14","ignoreZoomSetting":false,"name":"Behat feature suite","browserName":"firefox"}}

      The requested URL returned error: 500 Server Error (Behat\Mink\Exception\DriverException)

我的 behat.yml 文件设置如下:

default:
default:
  suites:
    default:
      contexts:
        - FeatureContext
        - Drupal\DrupalExtension\Context\DrupalContext
        - Drupal\DrupalExtension\Context\MinkContext
  extensions:
    Behat\MinkExtension:
      base_url: http://localhost:80/vic
      goutte: ~
      default_session: selenium2
      browser_name: 'firefox'
      selenium2:                    
        capabilities: { "browser": "firefox", "version": "14"}
      javascript_session: selenium2
    Drupal\DrupalExtension:
      blackbox: ~
      drush:
        root: /var/www/html/vic
      api_driver: 'drupal'
      drupal: 
        drupal_root: '/var/www/html/vic'

就像我说的,这以前工作得很好。现在我不知道为什么它停止了。这个错误对我来说也很奇怪。基础 url 似乎没有注册,我不知道为什么它会打开端口 4444 或转到文件夹结构 wd/hub/session.

一些背景。我在本地环境的本地计算机上 运行 这个。我在 Linux 框上。基础 url 在我的浏览器中对我有用,但 Behat 似乎无法访问它,并且它添加了一个奇怪的端口(应该是 80)和路径。前几天它工作了,除了重启之外没有任何改变(所以我需要启动服务或其他东西)?

找到答案了。首先确保硒是运行。

java -jar selenium-server-standalone-2.45.0.jar (make sure your version is right)

一旦它 运行 它会给你连接信息,确保匹配你的 behat.yml

  extensions:
    Behat\MinkExtension:
      base_url: http://localhost:80
      goutte: ~
      javascript_session: selenium2
      default_session: selenium2
      browser_name: 'firefox'
      selenium2:                    
        capabilities: { "browser": "firefox", "version": "14"}
        wd_host: http://127.0.0.1:4444/wd/hub

^^ 通过将 wd_host 指向硒实例

来做到这一点