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
File
-
vendor/
behat/ mink/ src/ Driver/ DriverInterface.php, line 24
Namespace
Behat\Mink\DriverView 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'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's inner html by its XPath query. | 1 |
DriverInterface::getOuterHtml | public | function | Returns element'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's tag name by its XPath query. | 1 |
DriverInterface::getText | public | function | Returns element's text by its XPath query. | 1 |
DriverInterface::getValue | public | function | Returns element'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's current session. | 1 |
DriverInterface::setValue | public | function | Sets element'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 |