2019-02-14 09:06:10 -06:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace LibreNMS\Tests;
|
|
|
|
|
|
|
|
use Facebook\WebDriver\Chrome\ChromeOptions;
|
|
|
|
use Facebook\WebDriver\Remote\DesiredCapabilities;
|
|
|
|
use Facebook\WebDriver\Remote\RemoteWebDriver;
|
|
|
|
use Laravel\Dusk\TestCase as BaseTestCase;
|
|
|
|
|
|
|
|
abstract class DuskTestCase extends BaseTestCase
|
|
|
|
{
|
|
|
|
use CreatesApplication;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Prepare for Dusk test execution.
|
|
|
|
*
|
|
|
|
* @beforeClass
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public static function prepare()
|
|
|
|
{
|
|
|
|
static::startChromeDriver();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Create the RemoteWebDriver instance.
|
|
|
|
*
|
|
|
|
* @return \Facebook\WebDriver\Remote\RemoteWebDriver
|
|
|
|
*/
|
|
|
|
protected function driver()
|
|
|
|
{
|
2019-04-22 19:01:39 -05:00
|
|
|
$arguments = [
|
|
|
|
'--disable-gpu',
|
|
|
|
];
|
|
|
|
|
|
|
|
if (env('CHROME_HEADLESS')) {
|
|
|
|
$arguments[] = '--headless';
|
|
|
|
}
|
|
|
|
|
2019-02-14 09:06:10 -06:00
|
|
|
return RemoteWebDriver::create('http://localhost:9515', DesiredCapabilities::chrome()->setCapability(
|
|
|
|
ChromeOptions::CAPABILITY,
|
2019-04-22 19:01:39 -05:00
|
|
|
(new ChromeOptions)->addArguments($arguments)
|
2019-02-14 09:06:10 -06:00
|
|
|
));
|
|
|
|
}
|
|
|
|
}
|