【问题标题】:Laravel Dusk Sessions onLaravel 黄昏会议
【发布时间】:2018-02-23 05:30:25
【问题描述】:

我在 vagrant 机器上设置了一个 laravel 5.4 项目,我正在尝试在其上创建 Laravel Dusk 测试。这有点棘手,我在这里按照教程进行操作:http://www.jesusamieiro.com/using-laravel-dusk-with-vagrant-homestead/

它运行良好,但会话变量似乎没有保存。我在发布路线中有此代码

if (!session('user_name')) {
        $request->session()->flash("message", "Your session expired. Click "Please Confirm" to approve your monthly donation.");
        return redirect()->back();
    }

它是在第一次获取页面时在获取请求中设置的。我在黄昏有这个测试:

$browser->visit("http://support.welcome.dev/?layout_id={$layout}&purl={$supporter->purl}&user_name={$supporter->name_first}&amount=10&ct={$hash}")
                ->press("Please Confirm")
                ->assertPathIs("/confirm");

此测试失败并被重定向,消息会话已过期。但是,当 post route 检查 user_name 变量的代码被注释掉时,它工作得很好。当我在浏览器上手动测试原始代码时,它可以工作。

感谢任何帮助。

【问题讨论】:

    标签: laravel homestead laravel-dusk


    【解决方案1】:
    $user = factory(User::class)->create([
                'email' => 'taylor@laravel.com',
            ]);
    
            $this->browse(function ($browser) use ($user) {
                $browser->visit('/login')
                        ->type('email', $user->email)
                        ->type('password', 'secret')
                        ->press('Login')
                        ->assertPathIs('/home');
            });
    

    此代码写在https://laravel.com/docs/5.4/dusk。我认为这可以帮助你。 =)

    【讨论】:

    • 不,这不起作用,因为它是在 vagrant 机器上运行 laravel 黄昏的并发症。我的代码在皮肤上工作,它只是在 vagrant 机器上不起作用。
    猜你喜欢
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    相关资源
    最近更新 更多