php - 尝试在 Mac 上设置 Selenium + Behat

标签 php selenium-webdriver behat mink

所以我让 Behat 在 headless 浏览器上工作得很好,但是我想使用 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"}

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

我安装了 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"
    }
}

最佳答案

您应该在 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 参数名称是否正确。

关于php - 尝试在 Mac 上设置 Selenium + Behat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16941978/

相关文章:

javascript - mxGraph - 通过加载 XML 显示图表

php - 增加帖子的回复总数

python - Selenium WebDriver (2.25) 超时不工作

session-cookies - 如何重新启动浏览器以保留 Behat 中的 cookie?

ajax - 这些 MinkExtension 基础上下文适应与 ajax 请求相关吗?

javascript - 在外部 iframe 中设置输入字段的值

php - 编码线程多接收者消息传递系统的最佳实践?

java - 无法在具有两个月 block 的日期选择器中选择日期 - http ://www.cleartrip.com/flights

c# - Web Scrape w/Selenium;性能慢?

bdd - 如何告诉Behat/Mink将鼠标悬停在网页上的元素上?