Как прокрутить страницу браузера - Laravel Dusk (браузерные тесты)
Я готовлю тесты, используя [тесты браузера (Laravel Dusk)] [1]
[1]: https://laravel.com/docs/5.4/dusk и мне нужно нажать на элемент, который не отображается перед прокруткой вниз страницы браузера. Как определить в тесте 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)
;
});
}
}
3 ответов
на основе ответа от @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;
});
}
Если вы знаете, как далеко вам нужно прокрутить, вы можете попробовать:
$browser->driver->executeScript('window.scrollTo(0, 500);');