Php 如何使用Mink在behat.yml中正确设置所需功能
我们正在用Behat和水貂。到目前为止,我们只是在代码中设置DesiredCapabilities,但现在我们想改变这一点,从behat.yml获得它们,并使用不同的配置文件,因此我们有一个firefox配置文件,一个chrome配置文件。。。等等 这是我目前的行为:Php 如何使用Mink在behat.yml中正确设置所需功能,php,symfony,selenium,behat,mink,Php,Symfony,Selenium,Behat,Mink,我们正在用Behat和水貂。到目前为止,我们只是在代码中设置DesiredCapabilities,但现在我们想改变这一点,从behat.yml获得它们,并使用不同的配置文件,因此我们有一个firefox配置文件,一个chrome配置文件。。。等等 这是我目前的行为: chrome: extensions: Behat\MinkExtension: sessions: default: selenium2: wd_host: "http://loc
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"}
当我尝试使用profile chrome启动测试时,出现以下错误:
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]Unrecognized option "selenium-version" under testwork.mink.sessions.default.selenium2.capabilities"
如果我删除“Selenium2Driver”部分,它就会使用Selenium2Driver.php中定义的默认功能
知道为什么会这样吗?毕竟,Selenium2的默认功能也使用selenium版本…是的,您可以选择在
behat.yml
中设置自定义功能。在能力
数组中有一个键,即所谓的额外能力
。设置在那里的所有功能都将与已知功能合并。它在getCapabilitiesNode
方法中完成。您还可以在那里找到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服务器检查是否有帮助。有许多behat.yml和实际的测试示例。示例:@I.Sch如果这个答案对你有用,那么你可以投票表决。