Как прокрутить страницу браузера — Laravel Dusk (Браузерные тесты)

Я готовлю тесты, используя [Browser Tests (Laravel Dusk)] [1] [1]: https://laravel.com/docs/5.4/dusk и мне нужно принудительно нажать на элемент, который не виден, прежде чем прокрутить страницу браузера. Как определить в сумерках тест, чтобы нажать элемент unsee или прокрутить страницу браузера?

class SliderTest extends DuskTestCase
{
/**
* A Dusk test example.
*
* @return void
*/
public function testExample()
{
$this->browse(function ($browser) {
$browser
->visit('http://localhost:8000/admin/login')
->click('label[for=test_1]')
->pause(500)
;
});
}
}

8

Решение

На основании ответа от @james

Вы можете выполнять сценарии, но они не могут быть связаны. Таким образом, вы можете просто выполнить прокрутку, прежде чем произойдет щелчок.

public function testExample()
{
$this->browse(function ($browser) {
$browser
->visit('http://localhost:8000/admin/login')
->driver->executeScript('window.scrollTo(0, 500);');
// can't chain methods after this
$browser
->click('label[for=test_1]')
->pause(500) //you can keep chaining here;
});
}
7

Другие решения

Вы можете использовать сейчас script метод:

$browser->script('window.scrollTo(0, 500);');

5

Если вы знаете, как далеко вы должны прокручивать, вы можете попробовать:

$browser->driver->executeScript('window.scrollTo(0, 500);');
3
По вопросам рекламы [email protected]