我正在使用 Laravel 5.4 ,我想知道是否有可能在 Laravel Dusk 中运行测试之前将项目保存在 localStorage 中。例如,假设您想测试完成浏览器 localStorage 中存储的一长串事物之后应该发生的某些行为。
是否可以在进行需要它们的测试之前将它们放在 localStorage 中?如果是这样,在测试之前您将如何做?
当然,我可以编写一个脚本,该脚本要花很长的时间来手动填充 localStorage ,就像普通用户会这样做一样。但是一次又一次地运行相同的持久方法只是为了测试一些功能,感觉并不正确。
预先感谢您的帮助。
答案 0 :(得分:2)
好的。这就是我的方法,这要归功于@JonasStaudenmeir的评论,我设法做到了这一点,所以所有功劳都归于Jonas!
因此,对于其他可能会发现此问题有用的人来说……对于我而言,我需要localStorage来获取一些初始数据。但是如上所述,我遇到了错误,无论是否链接-> script()。因此,基本上,我必须访问该页面两次,以防止错误显示和反映存储的数据。
$browser->visit("/demo")
->script("window.localStorage.setItem('picture-dictionary', 'bar')");
$browser->visit("/demo")
->assertSee("TRY IT");