我在一台流浪者机器上设置了一个laravel 5.4项目,我正试图在它上创建Laravel Dusk测试。这有点棘手,我遵循了这里的教程:http://www.jesusamieiro.com/using-laravel-dusk-with-vagrant-homestead/
它运行得很好,但是会话变量似乎不能保存。我在post路径中有这段代码
if (!session('user_name')) {
$request->session()->flash("message", "Your session expired. Click "Please Confirm" to approve your monthly donation.");
return redirect()->back();
}它是在第一次获取页面时在get请求上设置的。我在黄昏的时候有个测试:
$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路由检查user_name变量的代码被注释掉时,它工作得很好。当我在浏览器上手动测试时,原始代码可以正常工作。
任何帮助都是非常感谢的。
发布于 2017-09-14 17:43:09
$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写的。我想这对你有帮助。=)
https://stackoverflow.com/questions/46215572
复制相似问题