behat Selenium2Driver“无法打开连接”

时间:2013-09-13 09:58:25

标签: symfony selenium-webdriver behat mink

我正在尝试将Behat + Mink + Selenium2Driver用于Symfony2。

  • 我运行Selenium Server。
  • my behat.yml是:


    default:  
        extensions:  
            Behat\Symfony2Extension\Extension:  
                mink_driver: true  
            Behat\MinkExtension\Extension:  
                default_session: 'symfony2'  
                base_url: http://localhost/fhm_mind_solution/app_dev.php/  
                selenium2:  
                    wd_host: 'http://127.0.0.1:4444/wd/hub'  
                    capabilities: { "browser": "firefox", "version": "23"}

  • 在我的FeatureContext.php中:


    class FeatureContext extends RawMinkContext  
                      implements KernelAwareInterface
    {
        private $kernel;
        private $parameters; 
        public function __construct(array $parameters)
        {
            $this->useContext('mink', new MinkContext);
        }     
    /* [...] */
          public function iCanAuthenticateAsAnAdmin()
      {
            $this->getSession();
      }

  • 当我来自Behat时,我总是这样:"无法打开连接"。缺少什么?

1 个答案:

答案 0 :(得分:1)

首先,您没有正确配置selenium驱动程序。它应该是:

default:  
    extensions:  
        Behat\Symfony2Extension\Extension:  
            mink_driver: true  
        Behat\MinkExtension\Extension:  
            default_session: 'symfony2'  
            base_url: http://localhost/fhm_mind_solution/app_dev.php/  
            selenium2:  
                wd_host: 'http://127.0.0.1:4444/wd/hub'  
                capabilities: { "browser": "firefox", "version": "23"}

其次,您不必自己初始化驱动程序或会话。它是由MinkExtension为您完成的。

只需将您的上下文扩展为Behat\MinkExtension\Context\RawMinkContext,即可访问$this->getSession()方法。

在官方文档中阅读更多内容:http://extensions.behat.org/mink/

您可以在selenium2配置中看到可用的功能:https://github.com/Behat/MinkExtension/blob/2.0/src/Behat/MinkExtension/services/sessions/selenium2.xml#L10