сталкнулся с проблеммой, на мобильной версии сайта скроллинг работает путём драг & дропа, классическая прокрутка не работает. Как в селениуме “по уму” скролить страницу, потамучто то что находится вне экрана он выкидывает как ошибку Элемент не виден.
Сейчас я запилил костыль: беру нижний эдемент на экране и через $I->dragAndDrop тащу на верхней элемент, тогда страница скролится. Но наверника можно сделать както более по уму.
[PHPUnit_Framework_Exception] Argument 1 passed to MasapQuoteErrorsCest::{closure}() must be an instance of Facebook\WebDriver\Interactions\WebDriverTouchActions, instance of Facebook\WebDriver\Remote\RemoteWebDriver given, called in /home/klazorkin/autotests/TravelFrontendSeleniumTestingSystem/src/Codeception/Module/WebDriver.php on line 1685 and defined
Ну вообще то я бы сделал функцию в AcceptanceHelper.php типа:
public function scrollMobileSuite($xoffset, $yoffset)
{
$wb = $this->getModule('WebDriver')->webDriver;
$action = new \WebDriverActions($wb);
$action->scroll($xoffset, $yoffset)->perform();
}
Проверить не могу к сожалению
Может быть, что строка действия должна будет выглядеть так:
public function scrollMobileSuite($xoffset, $yoffset)
{
$wb = $this->getModule('WebDriver')->webDriver;
$action = new \WebDriverActions($wb);
$action->scroll($xoffset, $yoffset)->perform();
}
вот в этой интерпретации, (touchScreen он не видит)
public function scrollMobileSuite($xoffset, $yoffset)
{
$wb = $this->getModule('WebDriver')->webDriver;
$action = new \WebDriverTouchActions($wb);
$action->scroll($xoffset, $yoffset)->perform();
}