我们正在使用Behat和Mink。到目前为止,我们只是在代码中设置DesiredCapabilities,但现在我们想要更改它以从behat.yml获取它们并使用不同的配置文件,因此我们有一个firefox配置文件,一个用于chrome ...等等
现在这是我的behat.yml:
chrome:
extensions:
Behat\MinkExtension:
sessions:
default:
selenium2:
wd_host: "http://localhost:4444/wd/hub"
capabilities:{"browserName":"chrome","version":"51","platform":"ANY","browserVersion":"51","browser":"chrome","name":"Behat Test","deviceOrientation":"portrait","deviceType":"tablet", "selenium-version":"2.31.0"}
当我尝试使用配置文件chrome开始测试时,我收到此错误:
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]Unrecognized option "selenium-version" under testwork.mink.sessions.default.selenium2.capabilities"
如果我删除了硒版本'部分它只是跳转到使用Selenium2Driver.php中定义的默认功能
知道为什么会这样吗?毕竟,Selenium2的默认功能也使用selenium-version ......
答案 0 :(得分:2)
是的,您可以选择在behat.yml
中设置自定义功能。 capabilities
数组中有一个键,因此称为extra_capabilities
。设置在那里的所有功能将与已知功能合并。它是在getCapabilitiesNode
方法的MinkExtension/ServiceContainer/Driver/Selenium2Factory.php
内完成的。您还可以找到Behat / Mink支持的所有功能
因此,请尝试以下一种方式使用它:
capabilities:{"browserName":"chrome","version":"51","platform":"ANY","browserVersion":"51","browser":"chrome","name":"Behat Test","deviceOrientation":"portrait","deviceType":"tablet", "extra_capabilities": {"selenium-version":"2.31.0"}}
额外的参数也将传递给selenium服务器