0

我正在尝试使用 Behat + Mink + Selenium2Driver 进入 Symfony2。

  • 我运行了 Selenium 服务器。
  • 我的 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 时,我总是这样:“无法打开连接”。什么不见​​了?
4

1 回答 1

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

于 2013-09-13T10:08:36.670 回答