-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathFirefoxDuskTestCase.stub
52 lines (44 loc) · 1.31 KB
/
FirefoxDuskTestCase.stub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
namespace Tests;
use Derekmd\Dusk\Concerns\TogglesHeadlessMode;
use Derekmd\Dusk\Firefox\SupportsFirefox;
use Facebook\WebDriver\Firefox\FirefoxOptions;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;
use Laravel\Dusk\TestCase as BaseTestCase;
abstract class DuskTestCase extends BaseTestCase
{
use CreatesApplication, SupportsFirefox, TogglesHeadlessMode;
/**
* Prepare for Dusk test execution.
*
* @beforeClass
* @return void
*/
public static function prepare()
{
if (static::runningFirefoxInSail()) {
return;
}
static::startFirefoxDriver();
}
/**
* Create the RemoteWebDriver instance.
*
* @return \Facebook\WebDriver\Remote\RemoteWebDriver
*/
protected function driver()
{
$capabilities = DesiredCapabilities::firefox();
$capabilities->getCapability(FirefoxOptions::CAPABILITY)
->addArguments($this->filterHeadlessArguments([
'--headless',
'--window-size=1920,1080',
]))
->setPreference('devtools.console.stdout.content', true);
return RemoteWebDriver::create(
$_ENV['DUSK_DRIVER_URL'] ?? 'http://localhost:4444',
$capabilities
);
}
}