在 dusk 中使用全局登录


调整 DuskTestCase,增加以下方法。

    /**
     * @var bool
     */
    protected $login = true;

    public function login(Browser $browser)
    {
        // $browser->loginAs($this->getUser(), 'super');
    }


    /**
     * @param \Facebook\WebDriver\Remote\RemoteWebDriver $driver
     *
     * @return \Laravel\Dusk\Browser
     */
    protected function newBrowser($driver)
    {
        $browser = (new Browser($driver));
        $browser->setActionCollector(new BrowserActionCollector($this->getTestName()));
        $browser->resolver->prefix = 'html';

        $this->login($browser);

        return $browser;
    }

    /**
     * @return Administrator
     */
    protected function getUser()
    {
        if ($this->user) {
            return $this->user;
        }

        $admin = Administrator::orderBy('id', 'asc')->first() ?? factory(Administrator::class)->create();

        return $this->user = $admin;
    }

文章作者: Fengit
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Fengit !
  目录