/**
  * Creates one session per test case.
  *
  * @return void
  */
 public static function setUpBeforeClass()
 {
     parent::setUpBeforeClass();
     if (!is_object(self::$mink)) {
         self::$mink = new Mink();
         $server_url = 'http://' . $_SERVER['WEB_FIXTURE_HOST'] . ':' . $_SERVER['WEB_FIXTURE_PORT'] . '/wd/hub';
         $driver = new Selenium2Driver('firefox', null, $server_url);
         self::$mink->registerSession('phpunit', new Session($driver));
         self::$mink->setDefaultSessionName('phpunit');
     }
 }
Esempio n. 2
0
 /**
  * Registers Mink sessions on it's initialization.
  *
  * @param   Behat\Mink\Mink     $mink   Mink manager instance
  */
 protected static function registerMinkSessions(Mink $mink, array $parameters)
 {
     if (!$mink->hasSession('goutte')) {
         $params = $parameters['goutte'];
         $mink->registerSession('goutte', static::initGoutteSession($params['zend_config'], $params['server_parameters']));
     }
     if (!$mink->hasSession('sahi')) {
         $params = $parameters['sahi'];
         $mink->registerSession('sahi', static::initSahiSession($parameters['browser'], $params['sid'], $params['host'], $params['port']));
     }
     if (!$mink->hasSession('zombie')) {
         $params = $parameters['zombie'];
         $mink->registerSession('zombie', static::initZombieSession($params['host'], $params['port'], $params['auto_server'], $params['node_bin']));
     }
     if (!$mink->hasSession('selenium')) {
         $params = $parameters['selenium'];
         $browser = isset($params['browser']) ? $params['browser'] : '*' . $parameters['browser'];
         $mink->registerSession('selenium', static::initSeleniumSession($browser, $parameters['base_url'], $params['host'], $params['port']));
     }
     if (!$mink->hasSession('webdriver')) {
         $params = $parameters['webdriver'];
         $browser = $parameters['browser'];
         $mink->registerSession('webdriver', static::initWebdriverSession($browser, $params['host'], $params['capabilities']));
     }
 }
Esempio n. 3
0
 public function testRestartSessions()
 {
     $session1 = $this->getSessionMock();
     $session1->expects($this->once())->method('isStarted')->will($this->returnValue(false));
     $session1->expects($this->never())->method('restart');
     $session2 = $this->getSessionMock();
     $session2->expects($this->once())->method('isStarted')->will($this->returnValue(true));
     $session2->expects($this->once())->method('restart');
     $this->mink->registerSession('not started', $session1);
     $this->mink->registerSession('started', $session2);
     $this->mink->restartSessions();
 }
Esempio n. 4
0
 /**
  * Registers Mink sessions on it's initialization.
  *
  * @param   Behat\Mink\Mink     $mink   Mink manager instance
  */
 protected static function registerMinkSessions(Mink $mink)
 {
     if (!$mink->hasSession('goutte')) {
         $mink->registerSession('goutte', static::initGoutteSession());
         $mink->setDefaultSessionName('goutte');
     }
     if (!$mink->hasSession('sahi')) {
         $mink->registerSession('sahi', static::initSahiSession());
     }
     if (!$mink->hasSession('zombie')) {
         $mink->registerSession('zombie', static::initZombieSession());
     }
 }
Esempio n. 5
0
 /**
  * Initializes Mink sessions.
  */
 protected function initMink()
 {
     $driver = $this->getDefaultDriverInstance();
     $session = new Session($driver);
     $this->mink = new Mink();
     $this->mink->registerSession('default', $session);
     $this->mink->setDefaultSessionName('default');
     $this->registerSessions();
     return $session;
 }
Esempio n. 6
0
 /**
  * Initializes Mink sessions.
  */
 protected function initMink()
 {
     $driver = $this->getDefaultDriverInstance();
     if ($driver instanceof GoutteDriver) {
         $driver->getClient()->setClient(\Drupal::httpClient());
     }
     $session = new Session($driver);
     $this->mink = new Mink();
     $this->mink->registerSession('default', $session);
     $this->mink->setDefaultSessionName('default');
     $this->registerSessions();
     // According to the W3C WebDriver specification a cookie can only be set if
     // the cookie domain is equal to the domain of the active document. When the
     // browser starts up the active document is not our domain but 'about:blank'
     // or similar. To be able to set our User-Agent and Xdebug cookies at the
     // start of the test we now do a request to the front page so the active
     // document matches the domain.
     // @see https://w3c.github.io/webdriver/webdriver-spec.html#add-cookie
     // @see https://www.w3.org/Bugs/Public/show_bug.cgi?id=20975
     $session = $this->getSession();
     $session->visit($this->baseUrl);
     return $session;
 }
Esempio n. 7
0
 /**
  * Initializes Mink sessions.
  */
 protected function initMink()
 {
     $driver = new GoutteDriver();
     $session = new Session($driver);
     $this->mink = new Mink();
     $this->mink->registerSession('goutte', $session);
     $this->mink->setDefaultSessionName('goutte');
     $this->registerSessions();
     return $session;
 }
 /**
  * Registers Mink sessions on it's initialization.
  *
  * @param   Behat\Mink\Mink     $mink   Mink manager instance
  */
 protected static function registerMinkSessions(Mink $mink)
 {
     $configs = sfConfig::get('sf_phpunit_mink');
     foreach ($configs['drivers'] as $driver => $options) {
         if (!$mink->hasSession($driver)) {
             $initFn = 'init' . ucfirst($driver) . 'Session';
             $mink->registerSession($driver, static::$initFn());
         }
     }
     $mink->setDefaultSessionName($configs['default_driver']);
 }
Esempio n. 9
0
 protected static function registerMinkSessions(Mink $mink)
 {
     $mink->registerSession('sahi', static::initSahiSession($_SERVER['WEB_FIXTURES_BROWSER']));
     parent::registerMinkSessions($mink);
 }
 /**
  * Initializes Mink sessions.
  */
 protected function initMink()
 {
     $driver = $this->getDefaultDriverInstance();
     if ($driver instanceof GoutteDriver) {
         $driver->getClient()->setClient(\Drupal::httpClient());
     }
     $session = new Session($driver);
     $this->mink = new Mink();
     $this->mink->registerSession('default', $session);
     $this->mink->setDefaultSessionName('default');
     $this->registerSessions();
     return $session;
 }
Esempio n. 11
0
 /**
  * Registers Mink sessions on it's initialization.
  *
  * @param   Behat\Mink\Mink     $mink   Mink manager instance
  */
 protected static function registerMinkSessions(Mink $mink, array $parameters)
 {
     if (!$mink->hasSession('goutte')) {
         $params = $parameters['goutte'];
         $mink->registerSession('goutte', static::initGoutteSession($params['zend_config'], $params['server_parameters']));
     }
     if (!$mink->hasSession('sahi')) {
         $params = $parameters['sahi'];
         $mink->registerSession('sahi', static::initSahiSession($parameters['browser'], $params['sid'], $params['host'], $params['port']));
     }
     if (!$mink->hasSession('zombie')) {
         $params = $parameters['zombie'];
         $mink->registerSession('zombie', static::initZombieSession($params['host'], $params['port'], $params['auto_server'], $params['node_bin']));
     }
 }
Esempio n. 12
0
 protected static function registerMinkSessions(Mink $mink)
 {
     $mink->registerSession('selenium', static::initSeleniumSession('*' . $_SERVER['WEB_FIXTURES_BROWSER'], $_SERVER['WEB_FIXTURES_HOST']));
     parent::registerMinkSessions($mink);
 }