如何向下滚动浏览器页面 - Laravel Dusk(浏览器测试)

Tom*_*asz 12 php laravel laravel-dusk

我正在使用[浏览器测试(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)
                ;
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*hvh 11

根据@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;
    });
}
Run Code Online (Sandbox Code Playgroud)


小智 6

您现在可以使用该script方法:

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