Laravel Dusk:在为浏览器进行每次测试之前,如何更改配置值?

时间:2019-01-28 18:01:08

标签: laravel-dusk

我正在尝试在每次测试之前更改一些配置值。但是,浏览器不会应用它们。

在我的DuskTestCase文件中:

abstract class DuskTestCase extends BaseTestCase
{
    use CreatesApplication;

    protected function setUp()
    {
        parent::setUp();

        config()->set('cookie-consent.enabled', false);
        config()->set('app.recaptcha', false);
        config()->set('localization.acceptLanguage', false);
    }

    /**
     * Prepare for Dusk test execution.
     *
     * @beforeClass
     * @return void
     */
    public static function prepare()
    {
        static::startChromeDriver();
    }

    ...

在每个测试中都正确设置了配置值,但对于浏览器却未正确设置。当我删除'--disable-gpu'时,我清楚地看到浏览器仍在使用旧的配置值。

该如何更改?

1 个答案:

答案 0 :(得分:0)

为了获得这样的方法:

$browser
  ->withConfig(['currency' => 'EUR'])
  ->visit('/')
  // -> ..

您需要添加和注册中间件,覆盖浏览器并将其注册到DuskTestCase中。此处的详细信息:https://gist.github.com/wrabit/e01df16858505c395b7b0d271112a023