在使用 Laravel Dusk 进行 运行 测试之前,如何将项目存储在 localstorage 中?

How can I store items in localstorage before running a test with Laravel Dusk?

我正在使用 Laravel 5.4,我想知道是否可以在 localStorage 之前将项目保存在 运行 Laravel Dusk 中的测试。例如,假设您想测试在完成存储在浏览器的 localStorage.

中的一长串内容后应该发生的一些行为

是否可以在 运行 需要它们的测试之前将它们放在 localStorage 中?如果是这样,你会在考试前怎么做?

当然我可以编写一个脚本来完成手动填充 localStorage 的漫长过程,就像普通用户那样。但是 运行 一遍又一遍地测试功能位的相同持久方法感觉不太正确。

预先感谢您的帮助。

好的。我就是这样做的,感谢@JonasStaudenmeir 的评论,我设法以某种方式做到了,所以所有的功劳都归功于 Jonas!!

所以,对于其他发现这有用的麻烦的灵魂......在我的例子中,我需要 localStorage 来获得一些初始数据。但如前所述,我遇到了错误,无论是否链接 ->script() 。所以基本上我必须访问该页面两次,以防止显示错误并反映存储的数据。

    $browser->visit("/demo")
        ->script("window.localStorage.setItem('picture-dictionary', 'bar')");

    $browser->visit("/demo")
        ->assertSee("TRY IT");