gpt4 book ai didi

selenium - Capybara switch_to.alert(对话框)间歇性故障

转载 作者:行者123 更新时间:2023-12-01 06:44:07 25 4
gpt4 key购买 nike

我正在尝试使用 RSPEC/Capybara 与 FF 中的对话框进行交互。

在以下位置找到了一个优雅的解决方案:How to test a confirm dialog with Cucumber?

page.driver.browser.switch_to.alert.accept

然而,当切换没有发生时,我们会遇到间歇性故障。

有人遇到过这个吗?无论如何要确保切换总是成功的?

谢谢!

最佳答案

正如答案所述,当模式警报/确认/提示对话框打开时,浏览器变得无响应。如今,即使浏览器已经学会了显示非模态窗口,Capybara 仍然无法评估页面上下文中的任何代码。

正如链接的答案所述,只需 stub window.confirm方法。这是最好的稳定方式。

可以在 Capybara 中编写以下两个步骤:

When /I ensure the confirm box returns OK/ do
page.evaluate_script('window.confirm = function() { return true; }')
end

When /I ensure the confirm box returns Cancel/ do
page.evaluate_script('window.confirm = function() { return false; }')
end

然后您可以继续重写您的 Capybara 步骤,以便首先确保您 stub 确认框,然后单击触发确认框的链接:
When I ensure the confirm box returns OK
And I click on Remove
Then ...

关于selenium - Capybara switch_to.alert(对话框)间歇性故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7591093/

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