1: <?php
2:
3: declare(strict_types=1);
4:
5: namespace Atk4\Ui\Behat;
6:
7: use Atk4\Core\WarnDynamicPropertyTrait;
8: use Behat\Mink\Element\NodeElement;
9:
10: class MinkSession extends \Behat\Mink\Session
11: {
12: use WarnDynamicPropertyTrait;
13:
14: public function __construct(\Behat\Mink\Session $session)
15: {
16: $driver = new MinkSeleniumDriver($session->getDriver()); // @phpstan-ignore-line
17:
18: parent::__construct($driver, $session->getSelectorsHandler()); // @phpstan-ignore-line
19: }
20:
21: #[\Override]
22: public function getDriver(): MinkSeleniumDriver
23: {
24: return parent::getDriver(); // @phpstan-ignore-line
25: }
26:
27: #[\Override]
28: public function executeScript($script, array $args = []): void
29: {
30: $this->getDriver()->executeScript($script, $args);
31: }
32:
33: #[\Override]
34: public function evaluateScript($script, array $args = [])
35: {
36: return $this->getDriver()->evaluateScript($script, $args);
37: }
38:
39: #[\Override]
40: public function wait($time, $condition = 'false', array $args = [])
41: {
42: return $this->getDriver()->wait($time, $condition, $args);
43: }
44:
45: public function keyboardWrite(NodeElement $element, string $text): void
46: {
47: $this->getDriver()->keyboardWrite($element->getXpath(), $text);
48: }
49: }
50: