Esempio n. 1
0
 protected function setUp()
 {
     \Mage::init();
     $this->mink = new Mink(array('goutte' => new Session(new GoutteDriver())));
     $this->mink->setDefaultSessionName('goutte');
     $this->manager = new FixtureManager(new AttributesProvider());
 }
 public function restoreDefaultSession()
 {
     if ($this->giffyEnabled) {
         $this->mink->setDefaultSessionName($this->defaultSessionName);
         $this->giffyEnabled = false;
         $this->path = '';
     }
 }
 /**
  * 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');
     }
 }
 /**
  * {@inheritdoc}
  */
 public function setUp()
 {
     if (!module_exists('nexteuropa_data_export_test')) {
         throw new \Exception('nexteuropa_data_export_test module must be enabled.');
     }
     // Setup Mink.
     $this->mink = new Mink(array('goutte' => new Session(new GoutteDriver(new GoutteClient()))));
     $this->mink->setDefaultSessionName('goutte');
     // Setup Drupal driver.
     $this->driver = new DrupalDriver(DRUPAL_ROOT, BASE_URL);
     $this->driver->setCoreFromVersion();
 }
Esempio n. 5
0
 public function testGetDefaultSession()
 {
     $session1 = $this->getSessionMock();
     $session2 = $this->getSessionMock();
     $this->assertNotSame($session1, $session2);
     $this->mink->registerSession('session_1', $session1);
     $this->mink->registerSession('session_2', $session2);
     $this->mink->setDefaultSessionName('session_2');
     $this->assertSame($session1, $this->mink->getSession('session_1'));
     $this->assertSame($session2, $this->mink->getSession('session_2'));
     $this->assertSame($session2, $this->mink->getSession());
     $this->mink->setDefaultSessionName('session_1');
     $this->assertSame($session1, $this->mink->getSession());
 }
Esempio n. 6
0
 /**
  *
  * @return Mink
  */
 private function startMink()
 {
     $mink = new Mink(array('goutte' => new Session(new GoutteDriver(new Client()))));
     $mink->setDefaultSessionName('goutte');
     $mink->getSession()->visit(self::$url);
     return $mink;
 }
 protected function contextWithDriver(DriverInterface $driver)
 {
     $selectorsHandler = new SelectorsHandler();
     $sessionName = 'mocked';
     $mink = new Mink(array($sessionName => new Session($driver, $selectorsHandler)));
     $mink->setDefaultSessionName($sessionName);
     return new ContextTester($mink);
 }
 protected function getContextMock()
 {
     $pageMock = $this->getMockBuilder('Behat\\Mink\\Element\\DocumentElement')->disableOriginalConstructor()->setMethods(array('find'))->getMock();
     $sessionMock = $this->getMockBuilder('Behat\\Mink\\Session')->setConstructorArgs(array($this->getMock('Behat\\Mink\\Driver\\DriverInterface'), $this->getMock('Behat\\Mink\\Selector\\SelectorsHandler')))->setMethods(array('getPage'))->getMock();
     $sessionMock->expects($this->any())->method('getPage')->will($this->returnValue($pageMock));
     $mink = new Mink(array('default' => $sessionMock));
     $mink->setDefaultSessionName('default');
     $context = new SilverStripeContext(array());
     $context->setMink($mink);
     return $context;
 }
 public function __construct($params)
 {
     $this->setBrowserstackParams($params);
     $host = "http://{$this->browserstack_username}:{$this->browserstack_password}@hub.browserstack.com/wd/hub";
     if (self::$driver === null) {
         self::$driver = new Selenium2Driver('', $this->capabilities, $host);
     }
     $mink = new Mink(array('selenium2' => new Session(self::$driver)));
     $mink->setDefaultSessionName('selenium2');
     $this->setMink($mink);
     $this->setMinkParameters($params);
 }
Esempio n. 10
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());
     }
 }
 protected function _createContextWithDriver(DriverInterface $driver)
 {
     $uimapYaml = new vfsStreamFile('page.yml');
     $uimapYaml->setContent($this->_uimapYamlContent);
     $vfs = vfsStream::setup('vfs');
     $vfs->addChild($uimapYaml);
     $tafPageSource = new TafPageSource(vfsStream::url('vfs/page.yml'));
     $uimapSelector = new UimapSelector($tafPageSource);
     $selectorsHandler = new SelectorsHandler(array('uimap' => $uimapSelector));
     $sessionName = 'mocked';
     $mink = new Mink(array($sessionName => new Session($driver, $selectorsHandler)));
     $mink->setDefaultSessionName($sessionName);
     $context = $this->getObjectForTrait('Irs\\BehatUimapExtension\\Context\\UimapContext');
     $context->setMink($mink);
     $context->setPageSource($tafPageSource);
     $context->loadPage('category_page_before_reindex');
     return $context;
 }
Esempio n. 12
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. 13
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;
 }
 /**
  * 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. 15
0
use Peridot\WebDriverManager\Manager;
use Kahlan\Box\Box;
use Kahlan\Code\Code;
use Kahlan\Code\TimeoutException;
use Kahlan\Filter\Filter;
use Kahlan\Matcher;
$box = box('spec', new Box());
$box->service('manager', function () {
    $manager = new Manager();
    $manager->update();
    return $manager->startInBackground();
});
$box->service('mink', function () {
    $selenium = new Selenium2Driver('firefox', null, 'http://*****:*****@fsockopen('localhost', 4444);
        }, 5, true);
        fclose($fp);
Esempio n. 16
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;
 }
Esempio n. 17
0
    Debug::enable();
    Request::enableHttpMethodParameterOverride();
    $kernel = new AppKernel('test', true);
    $kernel->loadClassCache();
    $kernel->boot();
    $this->suite()->symfony = $kernel;
    return $chain->next();
});
Filter::register('mink.register', function ($chain) {
    $default_browser = getenv('MINK_DEFAULT_BROWSER') !== false ? getenv('MINK_DEFAULT_BROWSER') : 'chrome';
    $firefox_location = getenv('SELENIUM_FIREFOX_HOST') !== false ? getenv('SELENIUM_FIREFOX_HOST') : 'localhost';
    $chrome_location = getenv('SELENIUM_CHROME_HOST') !== false ? getenv('SELENIUM_CHROME_HOST') : 'localhost';
    $firefox_selenium_host = "http://{$firefox_location}:4444/wd/hub";
    $chrome_selenium_host = "http://{$chrome_location}:4444/wd/hub";
    $mink = new Mink(['firefox' => new Session(new Selenium2Driver('firefox', ['browserName' => 'firefox'], $firefox_selenium_host)), 'chrome' => new Session(new Selenium2Driver('chrome', ['browserName' => 'chrome'], $chrome_selenium_host))]);
    $mink->setDefaultSessionName($default_browser);
    /** @var Suite $root */
    $root = $this->suite();
    $root->mink = $mink;
    $root->beforeEach(function () use($mink) {
        $mink->resetSessions();
    });
    $root->after(function () use($mink) {
        $mink->stopSessions();
    });
    return $chain->next();
});
Filter::register('specs.prepare', function ($chain) {
    $callback = (require_once __DIR__ . '/prepare.php');
    /** @var Suite $root */
    $root = $this->suite();
 /**
  * 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']);
 }