behat.yml中的“idle-timeout”用于设置hte超时值抛出异常 -

时间:2014-08-18 02:50:44

标签: selenium-webdriver symfony-2.3 mink saucelabs

添加了配置文件的代码,如下所示。如果删除idle-timeout它工作正常,如果添加则给出异常 - [Symfony的\元器件\配置\定义\异常\ InvalidConfigurationException]
  无法识别的选项" idle_timeout"在" behat.extensions.behat_minkextension_extension.selenium2.capabilities"

Windows8_IE10: context: class: 'FeatureContext' extensions: Behat\MinkExtension\Extension: selenium2: browser: internet explorer wd_host: seodevelopment:@ondemand.saucelabs.com/wd/hub capabilities: { "platform": "Windows 8", "version": "10", "idle-timeout": 200}

1 个答案:

答案 0 :(得分:0)

这是因为there is a table已识别的功能而idle-timeout不是其中之一。它用于过滤掉错误的配置,如果你搞砸了就会通知你。解决方法是使用'extra_capabilities'选项,该选项不会被标准化和验证,并且不会抛出此错误。遗憾的是,文档并未涉及很多类似的事情,您必须自己(或此处)学习它们。

Windows8_IE10:
  context:
    class:  'FeatureContext'
  extensions:
    Behat\MinkExtension\Extension:
     selenium2:
        browser: internet explorer
        wd_host:  seodevelopment:@ondemand.saucelabs.com/wd/hub
        capabilities: { "platform": "Windows 8", "version": "10" }
        extra_capabilities: { "idle-timeout": 200 }

额外功能与功能对象合并,并在Mink启动新会话时传递给Selenium服务器。两者之间的区别在于额外的功能对象没有像功能一样被规范化,因此您可以指定任何您想要的功能。当您运行Selenium服务器时,它会在会话启动时记录以及浏览器驱动程序接收的功能。

21:54:51.659 INFO - Executing: [new session: Capabilities [{tags=[Ian-Bytcheks-MacBook-Pro.local, PHP 5.5.15], platform=ANY, browserVersion=9, ignoreZoomSetting=false, browserName=chrome, deviceType=tablet, name=Behat feature suite, browser=chrome, deviceOrientation=portrait, chromeOptions={args=[--test-type]}, version=21}]])

注意,这与Behat 3有关,早期版本可能有所不同。在Mink Selenium 2 Driver repo中找到标签,并查找实现此逻辑的类似类。