12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace Dcat\Admin\Tests;
- use Dcat\Admin\Models\Administrator;
- use Facebook\WebDriver\Chrome\ChromeOptions;
- use Facebook\WebDriver\Remote\DesiredCapabilities;
- use Facebook\WebDriver\Remote\RemoteWebDriver;
- use Laravel\Dusk\Browser;
- use Laravel\Dusk\TestCase as BaseTestCase;
- abstract class DuskTestCase extends BaseTestCase
- {
- use CreatesApplication;
- /**
- * @var Administrator
- */
- protected $user;
- protected $login = true;
- public function login(Browser $browser)
- {
- $browser->loginAs($this->getUser(), 'admin');
- }
- public function setUp(): void
- {
- parent::setUp();
- $this->boot();
- }
- public function tearDown(): void
- {
- $this->destory();
- parent::tearDown();
- }
- /**
- * 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()
- {
- $options = (new ChromeOptions())->addArguments([
- '--disable-gpu',
- '--headless',
- '--window-size=1920,1080',
- ]);
- return RemoteWebDriver::create(
- 'http://localhost:9515',
- DesiredCapabilities::chrome()->setCapability(
- ChromeOptions::CAPABILITY,
- $options
- )
- );
- }
- }
|