gpt4 book ai didi

Laravel Dusk 无法匹配 assertPathIs() 中的 url

转载 作者:行者123 更新时间:2023-12-05 00:16:23 30 4
gpt4 key购买 nike

我试试 Laravel dusk今天并使用模态组件设置登录。这是我的测试代码

public function testBasicExample()
{
$this->browse(function ($browser) {
$browser->visit('/')
->assertSee('My App')
->press('Login')
->whenAvailable('.modal', function($modal){
$modal->type('id','1112')
->type('password','password')
->press('Submit');
})
->assertPathIs('/home');
});
}

当我运行 dusk 命令时,dusk 模拟登录并且它工作正常。我的模态工作正常,然后重定向到正确的页面。不知何故,我的测试失败了,因为它说实际的 url 仍然是 /不是 /home我期望的。 Laravel dusk 每次测试失败都会截图。当我查看屏幕截图时,它在正确的页面或网址上,如 assertPathIs() .

任何人都可以指出为什么会这样?任何帮助,将不胜感激。

最佳答案

你可以像这样添加一个 waitForLocation :
->waitForLocation('/home');

->assertPathIs('/home'); .

最佳实践是使用显式等待(例如 ->waitForLocation('/home'); 而不是隐式等待(例如 ->pause(3000))

见:
- http://elementalselenium.com/tips/47-waiting
- https://laravel.com/docs/5.6/dusk#waiting-for-elements

关于Laravel Dusk 无法匹配 assertPathIs() 中的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41848910/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com