xref: /template/strap/vendor/php-webdriver/webdriver/lib/Interactions/Internal/WebDriverSendKeysAction.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
1*04fd306cSNickeau<?php
2*04fd306cSNickeau
3*04fd306cSNickeaunamespace Facebook\WebDriver\Interactions\Internal;
4*04fd306cSNickeau
5*04fd306cSNickeauuse Facebook\WebDriver\Internal\WebDriverLocatable;
6*04fd306cSNickeauuse Facebook\WebDriver\WebDriverAction;
7*04fd306cSNickeauuse Facebook\WebDriver\WebDriverKeyboard;
8*04fd306cSNickeauuse Facebook\WebDriver\WebDriverMouse;
9*04fd306cSNickeau
10*04fd306cSNickeauclass WebDriverSendKeysAction extends WebDriverKeysRelatedAction implements WebDriverAction
11*04fd306cSNickeau{
12*04fd306cSNickeau    /**
13*04fd306cSNickeau     * @var string
14*04fd306cSNickeau     */
15*04fd306cSNickeau    private $keys = '';
16*04fd306cSNickeau
17*04fd306cSNickeau    /**
18*04fd306cSNickeau     * @param WebDriverKeyboard $keyboard
19*04fd306cSNickeau     * @param WebDriverMouse $mouse
20*04fd306cSNickeau     * @param WebDriverLocatable $location_provider
21*04fd306cSNickeau     * @param string $keys
22*04fd306cSNickeau     */
23*04fd306cSNickeau    public function __construct(
24*04fd306cSNickeau        WebDriverKeyboard $keyboard,
25*04fd306cSNickeau        WebDriverMouse $mouse,
26*04fd306cSNickeau        WebDriverLocatable $location_provider = null,
27*04fd306cSNickeau        $keys = ''
28*04fd306cSNickeau    ) {
29*04fd306cSNickeau        parent::__construct($keyboard, $mouse, $location_provider);
30*04fd306cSNickeau        $this->keys = $keys;
31*04fd306cSNickeau    }
32*04fd306cSNickeau
33*04fd306cSNickeau    public function perform()
34*04fd306cSNickeau    {
35*04fd306cSNickeau        $this->focusOnElement();
36*04fd306cSNickeau        $this->keyboard->sendKeys($this->keys);
37*04fd306cSNickeau    }
38*04fd306cSNickeau}
39