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

时间:2015-05-29 13:43:07

标签: selenium behat mink

我刚刚开始玩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'

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

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

1 个答案:

答案 0 :(得分:3)

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

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指向selenium实例

来做到这一点