Laravel 黄昏截图

2024-01-01

我正在使用拉拉维尔5.6 and Dusk用于运行一些测试。

我总是这样截图

...
use Facebook\WebDriver\WebDriverDimension;
...
class LoginTest extends DuskTestCase
{
    public function testLogin()
    {
        $user = User::first();

        $this->browse(function ($browser) use ( $user ) {
            $test = $browser->visit( new Login)
                    ->resize(1920,1080)                    
                    ...                
                    ->driver->takeScreenshot(base_path('tests/Browser/screenshots/testLogin.png'));
        });
    }
}

但随着我的测试会越来越多的使用,我不想每次都继续写->resize(X,Y) and base_path('bla/blab/bla').

我想定义size and path对于将要编写的每个测试。

我想我应该定义一些函数tests/DesukTestCase.php但我什至不知道如何找回驱动程序等等。

您有关于此的一些指导或文档吗?因为我找不到任何东西...


您只需要添加'--window-size=1920,1080' in $options。这会将 1920x1080 屏幕分辨率应用于所有 Dusk 测试。随意调整到您想要的任何窗口大小。

所以你的 DuskTestCase.php 文件应该如下所示:

protected function driver()
{
    $options = (new ChromeOptions())->addArguments([
        '--disable-gpu',
        '--headless',
        '--window-size=1920,1080',
    ]);

    $driver = RemoteWebDriver::create(
        'http://selenium:4444/wd/hub',
        DesiredCapabilities::chrome()->setCapability(
            ChromeOptions::CAPABILITY,
            $options
        )
    );

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 黄昏截图 的相关文章

随机推荐