3

所以我让 Behat 在无头浏览器上工作得很好,但是我想使用 Selenium 2 来测试一些 JavaScript 繁重的页面。

当我运行 vendor/bin/behat 时,在标有@javascript 的第一个场景中出现此错误:

Curl error thrown for http POST to http://localhost:4444/wd/hub/session with params: {"desiredCapabilities":{"browserName":"firefox","version":"8","platform":"ANY","browserVersion":"8","browser":"firefox","name":"Behat test","deviceOrientation":"portrait","deviceType":"tablet","selenium-version":"2.31.0","max-duration":300},"requiredCapabilities":[]}

      couldn't connect to host

当我在配置文件中定义 443 时,我不知道为什么它连接到错误的端口。为什么它说设备类型是表格?这是我的 behat.yml:

default:
  paths:
    features: tests/functional/features
    bootstrap: tests/functional/features/bootstrap
  extensions:
    Behat\MinkExtension\Extension:
      base_url: http://myvirtualhost.com
      goutte: ~
      selenium2: ~
  context:
    parameters:
      wd_host: 127.0.0.1:4443/wd/hub
      wd_capabilities: { "browser": "firefox", "version": "21"}

我有 Selenium 2 在 127.0.0.1:4443/wd/hub 正确运行。

我安装了 Firefox 版本 21。

这是我的 composer.json,我有 Selenium 2 驱动程序:

{
    "name": "my-website",
    "description": "My Website",
    "minimum-stability": "dev",
    "require": {
        "php": ">=5.3",
        "zendframework/zendframework": "2.1.5",
        "doctrine/common": "dev-master#d7987c96675e153638729383577090feed9854f1"
    },
    "require-dev": {
        "phpunit/phpunit": "3.7.x-dev#19f1d742e0c36150001062f592c93f80aef3a9fd",
        "behat/behat": "dev-develop#1f1bead31e96da5e30fd5d499d5cf66d29b68cf6",
        "behat/mink": "v1.4.3",
        "behat/mink-extension": "dev-master#ef2c8639ebc254f0ff6e555b7834700caf5db9c4",
        "behat/mink-goutte-driver": "dev-master#v1.0.8",
        "behat/mink-selenium2-driver": "v1.0.6"
    }
}
4

2 回答 2

11

您应该在 selenium2 部分下配置 wd_host 和 wd_parameters,而不是参数:

default:
  extensions:
    Behat\MinkExtension\Extension:
      selenium2:
        wd_host: 127.0.0.1:4443/wd/hub
        capabilities:
          browser: firefox
          version: 21

仔细检查 wd_host 和 wd_capabilities 是否是正确的参数名称。

于 2013-06-05T22:23:45.643 回答
3

如果它对任何人有帮助,我必须使用“功能”而不是“wd_capabilities”来使其在我的机器上工作,即:

#behat.yml    
default:
  extensions:
    Behat\MinkExtension\Extension:
      base_url:  'http://hostname-of-the.app'
      default_session: selenium2
      selenium2:
        wd_host: 127.0.0.1:4444/wd/hub
        capabilities: { "browser": "firefox", "version": "ANY", "selenium-version": "ANY", "deviceType": "ANY"}
    SensioLabs\Behat\PageObjectExtension\Extension: ~

Selenium 服务器 2.42.1,Behat 2.5.0。

于 2014-06-11T10:30:24.807 回答