Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DriverInterface.php

interface DriverInterface

Driver interface.

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

Hierarchy

  • interface \Behat\Mink\Driver\DriverInterface

Expanded class hierarchy of DriverInterface

All classes that implement DriverInterface

7 files declare their use of DriverInterface
Element.php in vendor/behat/mink/src/Element/Element.php
ElementFinder.php in vendor/behat/mink/src/Element/ElementFinder.php
ElementHtmlException.php in vendor/behat/mink/src/Exception/ElementHtmlException.php
ElementNotFoundException.php in vendor/behat/mink/src/Exception/ElementNotFoundException.php
ExpectationException.php in vendor/behat/mink/src/Exception/ExpectationException.php

... See full list

File

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

Namespace

Behat\Mink\Driver
View source
interface DriverInterface {
    
    /**
     * Sets driver's current session.
     *
     * @param Session $session
     *
     * @return void
     */
    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.
     *
     * @return void
     *
     * @throws DriverException When the driver cannot be started
     */
    public function start();
    
    /**
     * Checks whether driver is started.
     *
     * @return bool
     */
    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.
     *
     * @return void
     *
     * @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.
     *
     * @return void
     */
    public function reset();
    
    /**
     * Visit specified URL.
     *
     * @param string $url url of the page
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function visit(string $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.
     *
     * @return void
     *
     * @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.
     *
     * @return void
     *
     * @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.
     *
     * @return void
     *
     * @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|false $user     user name or false to disable authentication
     * @param string       $password password
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function setBasicAuth($user, string $password);
    
    /**
     * Switches to specific browser window.
     *
     * @param string|null $name window name (null for switching back to main window)
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function switchToWindow(?string $name = null);
    
    /**
     * Switches to specific iFrame.
     *
     * @param string|null $name iframe name (null for switching back)
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function switchToIFrame(?string $name = null);
    
    /**
     * Sets specific request header on client.
     *
     * @param string $name
     * @param string $value
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function setRequestHeader(string $name, string $value);
    
    /**
     * Returns last response headers.
     *
     * @return array<string, string|string[]>
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function getResponseHeaders();
    
    /**
     * Sets cookie.
     *
     * Passing null as value will delete the cookie.
     *
     * @param string      $name
     * @param string|null $value
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function setCookie(string $name, ?string $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(string $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 string[] 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(string $xpath);
    
    /**
     * Returns element's tag name by its 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(string $xpath);
    
    /**
     * Returns element's text by its 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(string $xpath);
    
    /**
     * Returns element's inner html by its 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(string $xpath);
    
    /**
     * Returns element's outer html by its 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(string $xpath);
    
    /**
     * Returns element's attribute by its 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(string $xpath, string $name);
    
    /**
     * Returns element's value by its XPath query.
     *
     * @see \Behat\Mink\Element\NodeElement::getValue
     *
     * @param string $xpath
     *
     * @return string|bool|array|null
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function getValue(string $xpath);
    
    /**
     * Sets element's value by its XPath query.
     *
     * @see \Behat\Mink\Element\NodeElement::setValue
     *
     * @param string            $xpath
     * @param string|bool|array $value
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function setValue(string $xpath, $value);
    
    /**
     * Checks checkbox by its XPath query.
     *
     * @see \Behat\Mink\Element\NodeElement::check
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function check(string $xpath);
    
    /**
     * Unchecks checkbox by its XPath query.
     *
     * @see \Behat\Mink\Element\NodeElement::uncheck
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function uncheck(string $xpath);
    
    /**
     * Checks whether checkbox or radio button located by its XPath query is checked.
     *
     * @see \Behat\Mink\Element\NodeElement::isChecked
     *
     * @param string $xpath
     *
     * @return bool
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function isChecked(string $xpath);
    
    /**
     * Selects option from select field or value in radio group located by its XPath query.
     *
     * @see \Behat\Mink\Element\NodeElement::selectOption
     *
     * @param string $xpath
     * @param string $value
     * @param bool   $multiple
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function selectOption(string $xpath, string $value, bool $multiple = false);
    
    /**
     * Checks whether select option, located by its XPath query, is selected.
     *
     * @see \Behat\Mink\Element\NodeElement::isSelected
     *
     * @param string $xpath
     *
     * @return bool
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function isSelected(string $xpath);
    
    /**
     * Clicks button or link located by its XPath query.
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function click(string $xpath);
    
    /**
     * Double-clicks button or link located by its XPath query.
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function doubleClick(string $xpath);
    
    /**
     * Right-clicks button or link located by its XPath query.
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function rightClick(string $xpath);
    
    /**
     * Attaches file path to file field located by its XPath query.
     *
     * @see \Behat\Mink\Element\NodeElement::attachFile
     *
     * @param string $xpath
     * @param string $path
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function attachFile(string $xpath, string $path);
    
    /**
     * Checks whether element visible located by its XPath query.
     *
     * @param string $xpath
     *
     * @return bool
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function isVisible(string $xpath);
    
    /**
     * Simulates a mouse over on the element.
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function mouseOver(string $xpath);
    
    /**
     * Brings focus to element.
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function focus(string $xpath);
    
    /**
     * Removes focus from element.
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function blur(string $xpath);
    
    /**
     * Presses specific keyboard key.
     *
     * @param string              $xpath
     * @param string|int          $char     could be either char ('b') or char-code (98)
     * @param KeyModifier::*|null $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function keyPress(string $xpath, $char, ?string $modifier = null);
    
    /**
     * Pressed down specific keyboard key.
     *
     * @param string              $xpath
     * @param string|int          $char     could be either char ('b') or char-code (98)
     * @param KeyModifier::*|null $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function keyDown(string $xpath, $char, ?string $modifier = null);
    
    /**
     * Pressed up specific keyboard key.
     *
     * @param string              $xpath
     * @param string|int          $char     could be either char ('b') or char-code (98)
     * @param KeyModifier::*|null $modifier keyboard modifier (could be 'ctrl', 'alt', 'shift' or 'meta')
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function keyUp(string $xpath, $char, ?string $modifier = null);
    
    /**
     * Drag one element onto another.
     *
     * @param string $sourceXpath
     * @param string $destinationXpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function dragTo(string $sourceXpath, string $destinationXpath);
    
    /**
     * Executes JS script.
     *
     * @param string $script
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function executeScript(string $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(string $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(int $timeout, string $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|null $name   window name (null for the main window)
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function resizeWindow(int $width, int $height, ?string $name = null);
    
    /**
     * Maximizes the window if it is not maximized already.
     *
     * @param string|null $name window name (null for the main window)
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function maximizeWindow(?string $name = null);
    
    /**
     * Submits the form.
     *
     * @see \Behat\Mink\Element\NodeElement::submitForm
     *
     * @param string $xpath
     *
     * @return void
     *
     * @throws UnsupportedDriverActionException When operation not supported by the driver
     * @throws DriverException                  When the operation cannot be done
     */
    public function submitForm(string $xpath);

}

Members

Title Sort descending Modifiers Object type Summary Overrides
DriverInterface::attachFile public function Attaches file path to file field located by its 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 its XPath query. 1
DriverInterface::click public function Clicks button or link located by its XPath query. 1
DriverInterface::doubleClick public function Double-clicks button or link located by its 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&#039;s attribute by its 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&#039;s inner html by its XPath query. 1
DriverInterface::getOuterHtml public function Returns element&#039;s outer html by its 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&#039;s tag name by its XPath query. 1
DriverInterface::getText public function Returns element&#039;s text by its XPath query. 1
DriverInterface::getValue public function Returns element&#039;s value by its 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 its XPath query is checked. 1
DriverInterface::isSelected public function Checks whether select option, located by its 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 its 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 its XPath query. 1
DriverInterface::selectOption public function Selects option from select field or value in radio group located by its 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&#039;s current session. 1
DriverInterface::setValue public function Sets element&#039;s value by its 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 its 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

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal