Example #1
0
 /**
  *
  * @param \Pachico\Voyeur\Shot $shot
  * @return string
  */
 protected function _shoot_shot(Shot $shot)
 {
     // Starting sesion if not started yet (in short, open browser)
     if (!$this->_session->isStarted()) {
         $this->_log_out('Starting camera session');
         $this->_session->start();
     }
     $this->_log_out('Loading ' . $shot->get_uri());
     $this->_log_out("Resizing window to " . $shot->get_width() . 'x' . $shot->get_height());
     $this->_session->resizeWindow($shot->get_width(), $shot->get_height());
     // Load page
     $this->_session->visit($shot->get_uri());
     $this->_log_out("Loading finished");
     // Should I wait for something?
     if (count($shot->get_wait_for()) > 0) {
         foreach ($shot->get_wait_for() as $waitings) {
             $wait_time = key($waitings);
             $condition = is_null(current($waitings)) ? null : current($waitings);
             $this->_log_out("Waiting " . $wait_time . ' microseconds');
             $condition and $this->_log_out("Or until " . $condition);
             $this->_session->wait($wait_time, $condition);
         }
     }
     // Any scripts to execute?
     if (count($shot->get_scripts()) > 0) {
         foreach ($shot->get_scripts() as $script) {
             $script = $this->_get_script_file_content($script);
             $this->_session->executeScript($script);
         }
     }
     // Finally take the screenshot and return it
     $this->_log_out("Taking screenshot");
     $picture = $this->_session->getScreenshot();
     return $picture;
 }
 public function setUp()
 {
     parent::setUp();
     $this->driver = new GoutteDriver();
     $this->session = new Session($this->driver);
     $this->session->start();
     $this->session->visit($this->baseUrl);
 }
Example #3
0
 private function prepareMinkSessionIfNeeded()
 {
     if ($this->minkSession->getDriver() instanceof KernelDriver) {
         return;
     }
     if (false !== strpos($this->minkSession->getCurrentUrl(), $this->minkParameters['base_url'])) {
         return;
     }
     $this->minkSession->visit(rtrim($this->minkParameters['base_url'], '/') . '/');
 }
 public function openPage($url)
 {
     $session = new Session($this->getDriver());
     $session->start();
     $session->visit($url);
     $this->page = $session->getPage();
 }
Example #5
0
 /**
  * Visit specified URL.
  *
  * @param string $url Url of the page.
  *
  * @return void
  */
 public function visit($url)
 {
     if (!$this->isStarted()) {
         $this->start();
     }
     parent::visit($url);
 }
 /**
  * Create session.
  *
  * @return void
  */
 protected function startSession()
 {
     if (!$this->session->isStarted()) {
         $this->session->start();
     }
     $this->session->visit($_SERVER['WEB_FIXTURE_URL'] . '/tests/aik099/QATools/HtmlElementsLive/Element/index.html');
 }
 /**
  * Create session.
  *
  * @return void
  */
 protected function startSession()
 {
     if (!$this->session->isStarted()) {
         $this->session->start();
     }
     $this->session->visit($_SERVER['WEB_FIXTURE_URL'] . '/tests/QATools/QATools/Live/PageObject/index.html');
 }
Example #8
0
 function it_loads_base_url_and_sets_a_cookie_if_not_using_kernel_driver_and_driver_is_currently_outside_base_url(Session $minkSession, DriverInterface $driver)
 {
     $minkSession->getDriver()->willReturn($driver);
     $minkSession->getCurrentUrl()->willReturn('http://sylius.org');
     $minkSession->visit('http://localhost:8080/')->shouldBeCalled();
     $minkSession->setCookie('abc', 'def')->shouldBeCalled();
     $this->setCookie('abc', 'def');
 }
Example #9
0
 /**
  * @Given /^I am on "([^"]*)"$/
  */
 public function iAmOn($arg1)
 {
     if (!$this->session) {
         $this->iOpenBrowser();
     }
     $url = $arg1;
     $this->session->visit($url);
     $this->page = $this->session->getPage();
 }
 public function testBaseUrl()
 {
     $client = new Client(require __DIR__ . '/../app.php');
     $driver = new BrowserKitDriver($client, 'http://localhost/foo/');
     $session = new Session($driver);
     $session->visit('http://localhost/foo/index.html');
     $this->assertEquals(200, $session->getStatusCode());
     $this->assertEquals('http://localhost/foo/index.html', $session->getCurrentUrl());
 }
Example #11
0
 /**
  * Test record tabs for a particular ID.
  *
  * @param Session $session  Session
  * @param string  $id       ID to load
  * @param bool    $encodeId Should we URL encode the ID?
  *
  * @return void
  */
 protected function tryRecordTabsOnId(Session $session, $id, $encodeId = true)
 {
     $url = $this->getVuFindUrl('/Record/' . ($encodeId ? rawurlencode($id) : $id));
     $session->visit($url);
     $this->assertEquals(200, $session->getStatusCode());
     $page = $session->getPage();
     $staffViewTab = $page->findById('details');
     $this->assertTrue(is_object($staffViewTab));
     $this->assertEquals('Staff View', $staffViewTab->getText());
     $staffViewTab->click();
     $this->assertEquals($url . '#details', $session->getCurrentUrl());
     $staffViewTable = $page->find('css', '#details-tab table.citation');
     $this->assertTrue(is_object($staffViewTable));
     $this->assertEquals('LEADER', substr($staffViewTable->getText(), 0, 6));
 }
Example #12
0
 /**
  * Creates Mink session using current session strategy and returns it.
  *
  * @return Session
  */
 public function getSession()
 {
     if ($this->_session) {
         return $this->_session;
     }
     $browser = $this->getBrowser();
     try {
         $this->_session = $this->getSessionStrategy()->session($browser);
         if ($this->getCollectCodeCoverageInformation()) {
             $this->_session->visit($browser->getBaseUrl());
         }
     } catch (DriverException $e) {
         $message = 'The Selenium Server is not active on host %s at port %s';
         $this->markTestSkipped(sprintf($message, $browser->getHost(), $browser->getPort()));
     }
     return $this->_session;
 }
 /**
  * @param $not
  * @param TableNode $paths
  *
  * @throws \Exception
  *
  * @Given /^user should(| not) have an access to the following pages:$/
  */
 public function checkUserAccessToPages($not, TableNode $paths)
 {
     $result = [];
     $code = $not ? 403 : 200;
     // Use "GoutteDriver" to have an ability to check answer code.
     $driver = new Mink\Driver\GoutteDriver();
     $session = new Mink\Session($driver);
     $session->start();
     foreach (array_keys($paths->getRowsHash()) as $path) {
         $path = trim($path, '/');
         $session->visit($this->locatePath($path));
         if ($session->getStatusCode() !== $code) {
             $result[] = $path;
         }
     }
     if (!empty($result)) {
         throw new \Exception(sprintf('The following paths: "%s" are %s accessible!', implode(', ', $result), $not ? '' : 'not'));
     }
 }
Example #14
0
 /**
  * @return $session 
  */
 public static function login($username, $password)
 {
     $driver = new GoutteDriver();
     $session = new Session($driver);
     $session->start();
     $session->visit('https://github.com/login');
     $page = $session->getPage();
     $form = $page->find('css', '.auth-form form');
     if (null === $form) {
         throw new \Exception('Couldn\'t locate the login form.');
     }
     $form->fillField('login_field', $username);
     $form->fillField('password', $password);
     $form->submit();
     // @todo need to check if successfully logged in here...
     $dumper = new Dumper();
     file_put_contents(__DIR__ . '/../settings.yml', $dumper->dump(['github' => ['username' => $username, 'password' => $password]], 2));
     return $session;
 }
 /**
  * @param string $url
  * @return \Behat\Mink\Element\DocumentElement
  */
 protected function visit($url)
 {
     $this->session->visit($url);
     return $this->session->getPage();
 }
 public function testVisit()
 {
     $this->driver->expects($this->once())->method('visit')->with($url = 'some_url');
     $this->session->visit($url);
 }
Example #17
0
 /**
  * Opens the page.
  *
  * @param $page
  */
 public function amOnPage($page)
 {
     $host = rtrim($this->config['url'], '/');
     $page = ltrim($page, '/');
     $this->session->visit($host . '/' . $page);
 }
 /**
  * @When I check the URI
  */
 public function iCheckTheUri()
 {
     $this->session->visit('http://localhost:8080/what-was-the-uri/');
 }
Example #19
0
 /**
  * Opens the page.
  *
  * @param $page
  */
 public function amOnPage($page)
 {
     $this->session->visit($this->config['url'] . $page);
 }
 /**
  * Opens order history page.
  *
  * @param \Behat\Mink\Session $oMinkSession
  */
 private function _openOrderHistory($oMinkSession)
 {
     $oMinkSession->visit(shopURL . "en/order-history/");
     $oPage = $oMinkSession->getPage();
     $oLoginInput = $oPage->find('xpath', "//input[contains(@id, 'loginUser')]");
     $oPasswordInput = $oPage->find('xpath', "//input[contains(@id, 'loginPwd')]");
     $oLoginButton = $oPage->find('xpath', "//button[contains(@id, 'loginButton')]");
     $oLoginInput->setValue('*****@*****.**');
     $oPasswordInput->setValue('useruser');
     $oLoginButton->click();
     $oContentTitle = $oPage->find('xpath', "//section[contains(@id, 'content')]/h1");
     $this->assertEquals('%PAGE_TITLE_ACCOUNT_ORDER%', $oContentTitle->getText(), 'Given page title: "' . $oContentTitle->getText() . '" is not same.');
     $this->checkForErrors();
 }
Example #21
0
<?php

require __DIR__ . '/vendor/autoload.php';
use Behat\Mink\Driver\GoutteDriver;
use Behat\Mink\Driver\Selenium2Driver;
use Behat\Mink\Session;
//$driver = new GoutteDriver();
$driver = new Selenium2Driver();
$session = new Session($driver);
$session->start();
$session->visit('http://jurassicpark.wikia.com');
//echo "The status code is ".$session->getStatusCode()."\n";
echo "The current URL is " . $session->getCurrentUrl() . "\n";
// Hallo! I'm a DocumentElement
$page = $session->getPage();
echo "The start of the page text is " . substr($page->getText(), 0, 56) . "\n";
// And I'm a NodeElement!
$nodeElement = $page->find('css', '.subnav-2 li a');
echo "The matched link text is " . $nodeElement->getText() . "\n";
$randomLink = $page->findLink('Random page');
echo "The matched URL is " . $randomLink->getAttribute('href') . "\n";
$randomLink->click();
echo "The new URL is " . $session->getCurrentUrl() . "\n";
$session->stop();
Example #22
0
 public function testExample()
 {
     $this->session->visit('localhost');
     $page = $this->session->getPage();
     $this->session->{$this}->assertEquals('Mink is a php 5.3 library that you’ll use inside your test suites or project. Before you begin, ensure that you have at least PHP 5.3.1 installed.', $page->find('css', 'h1')->getText());
 }
Example #23
0
 protected function visit($path)
 {
     $this->session->visit(rtrim($this->baseUrl, '/') . '/' . ltrim($path, '/'));
     return $this->session->getPage();
 }
Example #24
0
 /**
  * Get a reference to a standard search results page.
  *
  * @param Session $session Mink session
  *
  * @return Element
  */
 protected function getSearchResultsPage(Session $session)
 {
     $path = '/Search/Results?lookfor=id%3A(testsample1+OR+testsample2)';
     $session->visit($this->getVuFindUrl() . $path);
     return $session->getPage();
 }