gpt4 book ai didi

javascript - capybara 和 Javascript onbefoureunload

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:38 24 4
gpt4 key购买 nike

我有一个带有 onbeforeunload 功能的“ask_a_question”页面,可以在未保存内容之前提醒用户(嘿!像 SO :P)。我正在使用带有 capybara 和 webdriver 的 cucumber 对其进行测试,添加 @javascript 标签,因为它使用了大量的 javascript。 cucumber 功能可能如下所示:

@javascript
Scenario: add a question
Given I login as "Mauricio"
And I go to the create question page
Then I should see "Ask a Question" within "header"

但是一旦测试通过,Capybara(或 WebDriver,我不知道)会尝试为其他测试重用相同的浏览器窗口,然后会显示 onbeforeunload 警报来破坏以下测试。

因为我的功能本身并没有关闭或退出页面。我认为添加一些东西来接受警报可能不是个好主意。但老实说,我很迷茫。

我如何告诉 capybara 为每个@javascript 测试使用新的浏览器窗口或自动关闭 onbeforeunload 警报?

谢谢

最佳答案

您可以使用 page.driver.browser.switch_to.alert.dismiss ( docs here ) 来消除警报。

你可以把它放在 Hook 后的 cucumber 里

After "@javascript" do
page.driver.browser.switch_to.alert.dismiss
# or accept it if that is what you prefer
page.driver.browser.switch_to.alert.accept
end

关于javascript - capybara 和 Javascript onbefoureunload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855361/

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