behat Selenium2Driver не может открыть соединение

Я пытаюсь использовать Behat + Mink + Selenium2Driver в Symfony2.

  • Я запустил Selenium Server.
  • мой 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, у меня всегда это: «не удалось открыть соединение». Чего не хватает?

person nitche    schedule 13.09.2013    source источник


Ответы (1)


Во-первых, вы неправильно настроили драйвер селена. Так должно быть:

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

person Jakub Zalas    schedule 13.09.2013
comment
привет, по первому пункту: я уже пробовал эту настройку для behat.yml, но у меня есть эта ошибка: [Symfony\Component\Config\Definition\Exception\InvalidConfigurationException] Нераспознанные параметры wd_capabilities под behat.extensions.behat_minkextension_extension.selenium2 На второй момент, можете ли вы привести пример определения класса? - person nitche; 13.09.2013
comment
Это потому, что параметр называется возможностями. По второму пункту прочтите, пожалуйста, дружественное руководство (я вставил ссылку на документы, где вы можете его найти). - person Jakub Zalas; 13.09.2013
comment
Еще одно — вам нужно установить драйвер selenium2: packagist.org/packages/behat/ mink-selenium2-драйвер - person Jakub Zalas; 13.09.2013
comment
это вот этот: behat/mink-selenium2-driver: *@stable в composer.json? затем он установлен. - person nitche; 13.09.2013
comment
я обнаружил, что исключение перехвачено здесь: github.com/Behat/MinkSelenium2Driver/blob/master/src/Behat/Mink/, строка 278. Это помогает? я не знаю что делать... - person nitche; 13.09.2013
comment
Ваш селен-сервер работает на той же машине, что и вы? - person Jakub Zalas; 13.09.2013
comment
да, это та же машина, но я запускаю ее на Windows. сегодня я попробую на своей машине с Linux, и тогда я скажу вам. - person nitche; 16.09.2013