gpt4 book ai didi

javascript - 如何让 Capybara/Poltergeist 等待 js 启动的导航完成?

转载 作者:行者123 更新时间:2023-11-28 20:02:42 26 4
gpt4 key购买 nike

我有一个测试,用于检查在用户从自动完成建议中选择一个选项后,路径是否已更改。我正在 Poltergeist 上使用 Capybara 进行测试。但是,大概是因为我正在通过 JS 触发页面更改,所以我现在必须使用 sleep 语句来等待页面完成加载,这当然不理想。

这是js:

window.location.href = suggestion.url;

这是测试:

sleep 1# Allow the time to navigate
expect(current_path).to eq(arg1)

其中 arg1 是预期的页面 url。

它在 sleep 时效果很好,但是这不是最佳选择的原因很明显。如何让测试更智能,让它等待导航发生?

最佳答案

不要将 eq 匹配器与 current_path 一起使用(实际上大多数 capybara 的东西),使用 have_current_path 匹配器

expect(page).to have_current_path(arg1)

这将利用 Capybara 内置的自动等待/重试行为

关于javascript - 如何让 Capybara/Poltergeist 等待 js 启动的导航完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36618320/

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