Atn*_*ize 6 laravel laravel-dusk
我正在使用 laravel5.6并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)和base_path('bla/blab/bla').
我想为将要编写的每个测试定义大小和路径。
我想我应该定义一些函数,tests/DesukTestCase.php但我什至不知道如何检索驱动程序等等。
你有关于这方面的一些指导或文档吗?因为我找不到任何东西......
您只需要添加'--window-size=1920,1080'进去即可$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
        )
    );
}
| 归档时间: | 
 | 
| 查看次数: | 4217 次 | 
| 最近记录: |