Laravel dusk implementation for testing

This commit is contained in:
Fairuz
2022-04-23 16:14:55 +08:00
parent 2e8e545ed9
commit d81c8b17bd
11 changed files with 187 additions and 5 deletions
+59
View File
@@ -0,0 +1,59 @@
<?php
namespace 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()
{
if (! static::runningInSail()) {
static::startChromeDriver();
}
}
/**
* Create the RemoteWebDriver instance.
*
* @return \Facebook\WebDriver\Remote\RemoteWebDriver
*/
protected function driver()
{
$options = (new ChromeOptions)->addArguments([
'--no-sandbox'
]);
return RemoteWebDriver::create(
//'http://localhost:86',
'http://localhost:9515',
DesiredCapabilities::chrome()->setCapability(
ChromeOptions::CAPABILITY, $options
)
);
}
/**
* Determine whether the Dusk command has disabled headless mode.
*
* @return bool
*/
protected function hasHeadlessDisabled()
{
return true;
//isset($_SERVER['DUSK_HEADLESS_DISABLED']) ||
//isset($_ENV['DUSK_HEADLESS_DISABLED']);
}
}