You are here

interface DriverInterface in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/behat/mink/src/Driver/DriverInterface.php \Behat\Mink\Driver\DriverInterface

Driver interface.

@author Konstantin Kudryashov <ever.zet@gmail.com>

Hierarchy

Expanded class hierarchy of DriverInterface

All classes that implement DriverInterface

8 files declare their use of DriverInterface
AbstractConfig.php in vendor/behat/mink/driver-testsuite/tests/AbstractConfig.php
Element.php in vendor/behat/mink/src/Element/Element.php
ElementHtmlException.php in vendor/behat/mink/src/Exception/ElementHtmlException.php
ElementNotFoundException.php in vendor/behat/mink/src/Exception/ElementNotFoundException.php
ElementTest.php in vendor/behat/mink/tests/Element/ElementTest.php

... See full list

File

vendor/behat/mink/src/Driver/DriverInterface.php, line 23

Namespace

Behat\Mink\Driver
View source
interface DriverInterface {

  /**
   * Sets driver's current session.
   *
   * @param Session $session
   */
  public function setSession(Session $session);

  /**
   * Starts driver.
   *
   * Once started, the driver should be ready to visit a page.
   *
   * Calling any action before visiting a page is an undefined behavior.
   * The only supported method calls on a fresh driver are
   * - visit()
   * - setRequestHeader()
   * - setBasicAuth()
   * - reset()
   * - stop()
   *
   * Calling start on a started driver is an undefined behavior. Driver
   * implementations are free to handle it silently or to fail with an
   * exception.
   *
   * @throws DriverException When the driver cannot be started
   */
  public function start();

  /**
   * Checks whether driver is started.
   *
   * @return Boolean
   */
  public function isStarted();

  /**
   * Stops driver.
   *
   * Once stopped, the driver should be started again before using it again.
   *
   * Calling any action on a stopped driver is an undefined behavior.
   * The only supported method call after stopping a driver is starting it again.
   *
   * Calling stop on a stopped driver is an undefined behavior. Driver
   * implementations are free to handle it silently or to fail with an
   * exception.
   *
   * @throws DriverException When the driver cannot be closed
   */
  public function stop();

  /**
   * Resets driver state.
   *
   * This should reset cookies, request headers and basic authentication.
   * When possible, the history should be reset as well, but this is not enforced
   * as some implementations may not be able to reset it without restarting the
   * driver entirely. Consumers requiring a clean history should restart the driver
   * to enforce it.
   *
   * Once reset, the driver should be ready to visit a page.
   * Calling any action before visiting a page is an undefined behavior.
   * The only supported method calls on a fresh driver are
   * - visit()
   * - setRequestHeader()
   * - setBasicAuth()
   * - reset()
   * - stop()
   *
   * Calling reset on a stopped driver is an undefined behavior.
   */
  public function reset();

  /**
   * Visit specified URL.
   *
   * @param string $url url of the page
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function visit($url);

  /**
   * Returns current URL address.
   *
   * @return string
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getCurrentUrl();

  /**
   * Reloads current page.
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function reload();

  /**
   * Moves browser forward 1 page.
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function forward();

  /**
   * Moves browser backward 1 page.
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function back();

  /**
   * Sets HTTP Basic authentication parameters.
   *
   * @param string|Boolean $user     user name or false to disable authentication
   * @param string         $password password
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function setBasicAuth($user, $password);

  /**
   * Switches to specific browser window.
   *
   * @param string $name window name (null for switching back to main window)
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function switchToWindow($name = null);

  /**
   * Switches to specific iFrame.
   *
   * @param string $name iframe name (null for switching back)
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function switchToIFrame($name = null);

  /**
   * Sets specific request header on client.
   *
   * @param string $name
   * @param string $value
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function setRequestHeader($name, $value);

  /**
   * Returns last response headers.
   *
   * @return array
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getResponseHeaders();

  /**
   * Sets cookie.
   *
   * @param string $name
   * @param string $value
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function setCookie($name, $value = null);

  /**
   * Returns cookie by name.
   *
   * @param string $name
   *
   * @return string|null
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getCookie($name);

  /**
   * Returns last response status code.
   *
   * @return int
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getStatusCode();

  /**
   * Returns last response content.
   *
   * @return string
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getContent();

  /**
   * Capture a screenshot of the current window.
   *
   * @return string screenshot of MIME type image/* depending
   *                on driver (e.g., image/png, image/jpeg)
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getScreenshot();

  /**
   * Return the names of all open windows.
   *
   * @return array array of all open windows
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getWindowNames();

  /**
   * Return the name of the currently active window.
   *
   * @return string the name of the current window
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getWindowName();

  /**
   * Finds elements with specified XPath query.
   *
   * @param string $xpath
   *
   * @return NodeElement[]
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function find($xpath);

  /**
   * Returns element's tag name by it's XPath query.
   *
   * @param string $xpath
   *
   * @return string
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getTagName($xpath);

  /**
   * Returns element's text by it's XPath query.
   *
   * @param string $xpath
   *
   * @return string
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getText($xpath);

  /**
   * Returns element's inner html by it's XPath query.
   *
   * @param string $xpath
   *
   * @return string
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getHtml($xpath);

  /**
   * Returns element's outer html by it's XPath query.
   *
   * @param string $xpath
   *
   * @return string
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getOuterHtml($xpath);

  /**
   * Returns element's attribute by it's XPath query.
   *
   * @param string $xpath
   * @param string $name
   *
   * @return string|null
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function getAttribute($xpath, $name);

  /**
   * Returns element's value by it's XPath query.
   *
   * @param string $xpath
   *
   * @return string|bool|array
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::getValue
   */
  public function getValue($xpath);

  /**
   * Sets element's value by it's XPath query.
   *
   * @param string            $xpath
   * @param string|bool|array $value
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::setValue
   */
  public function setValue($xpath, $value);

  /**
   * Checks checkbox by it's XPath query.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::check
   */
  public function check($xpath);

  /**
   * Unchecks checkbox by it's XPath query.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::uncheck
   */
  public function uncheck($xpath);

  /**
   * Checks whether checkbox or radio button located by it's XPath query is checked.
   *
   * @param string $xpath
   *
   * @return Boolean
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::isChecked
   */
  public function isChecked($xpath);

  /**
   * Selects option from select field or value in radio group located by it's XPath query.
   *
   * @param string  $xpath
   * @param string  $value
   * @param Boolean $multiple
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::selectOption
   */
  public function selectOption($xpath, $value, $multiple = false);

  /**
   * Checks whether select option, located by it's XPath query, is selected.
   *
   * @param string $xpath
   *
   * @return Boolean
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::isSelected
   */
  public function isSelected($xpath);

  /**
   * Clicks button or link located by it's XPath query.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function click($xpath);

  /**
   * Double-clicks button or link located by it's XPath query.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function doubleClick($xpath);

  /**
   * Right-clicks button or link located by it's XPath query.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function rightClick($xpath);

  /**
   * Attaches file path to file field located by it's XPath query.
   *
   * @param string $xpath
   * @param string $path
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::attachFile
   */
  public function attachFile($xpath, $path);

  /**
   * Checks whether element visible located by it's XPath query.
   *
   * @param string $xpath
   *
   * @return Boolean
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function isVisible($xpath);

  /**
   * Simulates a mouse over on the element.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function mouseOver($xpath);

  /**
   * Brings focus to element.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function focus($xpath);

  /**
   * Removes focus from element.
   *
   * @param string $xpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function blur($xpath);

  /**
   * Presses specific keyboard key.
   *
   * @param string     $xpath
   * @param string|int $char     could be either char ('b') or char-code (98)
   * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function keyPress($xpath, $char, $modifier = null);

  /**
   * Pressed down specific keyboard key.
   *
   * @param string     $xpath
   * @param string|int $char     could be either char ('b') or char-code (98)
   * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function keyDown($xpath, $char, $modifier = null);

  /**
   * Pressed up specific keyboard key.
   *
   * @param string     $xpath
   * @param string|int $char     could be either char ('b') or char-code (98)
   * @param string     $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function keyUp($xpath, $char, $modifier = null);

  /**
   * Drag one element onto another.
   *
   * @param string $sourceXpath
   * @param string $destinationXpath
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function dragTo($sourceXpath, $destinationXpath);

  /**
   * Executes JS script.
   *
   * @param string $script
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function executeScript($script);

  /**
   * Evaluates JS script.
   *
   * The "return" keyword is optional in the script passed as argument. Driver implementations
   * must accept the expression both with and without the keyword.
   *
   * @param string $script
   *
   * @return mixed
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function evaluateScript($script);

  /**
   * Waits some time or until JS condition turns true.
   *
   * @param int    $timeout   timeout in milliseconds
   * @param string $condition JS condition
   *
   * @return bool
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function wait($timeout, $condition);

  /**
   * Set the dimensions of the window.
   *
   * @param int    $width  set the window width, measured in pixels
   * @param int    $height set the window height, measured in pixels
   * @param string $name   window name (null for the main window)
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function resizeWindow($width, $height, $name = null);

  /**
   * Maximizes the window if it is not maximized already.
   *
   * @param string $name window name (null for the main window)
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   */
  public function maximizeWindow($name = null);

  /**
   * Submits the form.
   *
   * @param string $xpath Xpath.
   *
   * @throws UnsupportedDriverActionException When operation not supported by the driver
   * @throws DriverException                  When the operation cannot be done
   *
   * @see \Behat\Mink\Element\NodeElement::submitForm
   */
  public function submitForm($xpath);

}

Members

Namesort descending Modifiers Type Description Overrides
DriverInterface::attachFile public function Attaches file path to file field located by it's XPath query. 1
DriverInterface::back public function Moves browser backward 1 page. 1
DriverInterface::blur public function Removes focus from element. 1
DriverInterface::check public function Checks checkbox by it's XPath query. 1
DriverInterface::click public function Clicks button or link located by it's XPath query. 1
DriverInterface::doubleClick public function Double-clicks button or link located by it's XPath query. 1
DriverInterface::dragTo public function Drag one element onto another. 1
DriverInterface::evaluateScript public function Evaluates JS script. 1
DriverInterface::executeScript public function Executes JS script. 1
DriverInterface::find public function Finds elements with specified XPath query. 1
DriverInterface::focus public function Brings focus to element. 1
DriverInterface::forward public function Moves browser forward 1 page. 1
DriverInterface::getAttribute public function Returns element's attribute by it's XPath query. 1
DriverInterface::getContent public function Returns last response content. 1
DriverInterface::getCookie public function Returns cookie by name. 1
DriverInterface::getCurrentUrl public function Returns current URL address. 1
DriverInterface::getHtml public function Returns element's inner html by it's XPath query. 1
DriverInterface::getOuterHtml public function Returns element's outer html by it's XPath query. 1
DriverInterface::getResponseHeaders public function Returns last response headers. 1
DriverInterface::getScreenshot public function Capture a screenshot of the current window. 1
DriverInterface::getStatusCode public function Returns last response status code. 1
DriverInterface::getTagName public function Returns element's tag name by it's XPath query. 1
DriverInterface::getText public function Returns element's text by it's XPath query. 1
DriverInterface::getValue public function Returns element's value by it's XPath query. 1
DriverInterface::getWindowName public function Return the name of the currently active window. 1
DriverInterface::getWindowNames public function Return the names of all open windows. 1
DriverInterface::isChecked public function Checks whether checkbox or radio button located by it's XPath query is checked. 1
DriverInterface::isSelected public function Checks whether select option, located by it's XPath query, is selected. 1
DriverInterface::isStarted public function Checks whether driver is started. 1
DriverInterface::isVisible public function Checks whether element visible located by it's XPath query. 1
DriverInterface::keyDown public function Pressed down specific keyboard key. 1
DriverInterface::keyPress public function Presses specific keyboard key. 1
DriverInterface::keyUp public function Pressed up specific keyboard key. 1
DriverInterface::maximizeWindow public function Maximizes the window if it is not maximized already. 1
DriverInterface::mouseOver public function Simulates a mouse over on the element. 1
DriverInterface::reload public function Reloads current page. 1
DriverInterface::reset public function Resets driver state. 1
DriverInterface::resizeWindow public function Set the dimensions of the window. 1
DriverInterface::rightClick public function Right-clicks button or link located by it's XPath query. 1
DriverInterface::selectOption public function Selects option from select field or value in radio group located by it's XPath query. 1
DriverInterface::setBasicAuth public function Sets HTTP Basic authentication parameters. 1
DriverInterface::setCookie public function Sets cookie. 1
DriverInterface::setRequestHeader public function Sets specific request header on client. 1
DriverInterface::setSession public function Sets driver's current session. 1
DriverInterface::setValue public function Sets element's value by it's XPath query. 1
DriverInterface::start public function Starts driver. 1
DriverInterface::stop public function Stops driver. 1
DriverInterface::submitForm public function Submits the form. 1
DriverInterface::switchToIFrame public function Switches to specific iFrame. 1
DriverInterface::switchToWindow public function Switches to specific browser window. 1
DriverInterface::uncheck public function Unchecks checkbox by it's XPath query. 1
DriverInterface::visit public function Visit specified URL. 1
DriverInterface::wait public function Waits some time or until JS condition turns true. 1