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'));
});
}
}
Run Code Online (Sandbox Code Playgroud)
但是随着我的测试使用的越来越多,我不想每次都继续写->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
)
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4217 次 |
| 最近记录: |