Selenium::WebDriver::错误::UnexpectedAlertOpenError:

问题描述 投票:0回答:1

我收到错误,因为警报已打开。我认为我以正确的方式处理它;-) 根据我的研究,“accept_confirm”块是处理这个问题的方法。

feature "Users can delete studynotes", js: true do
  let(:user) { create(:user) }
  let(:otheruser) { create(:user) }

  before { create(:studynote, title: "Jona", author: user) }

  scenario "successfully", js:true do
    login_as(user)

    visit studynotes_path
    click_link "Jona"

    accept_confirm do
      click_link t(:delete_item, item: Studynote.model_name.human)
    end

    expect(page).to have_content(t("activerecord.messages.deleted", model: "bijbelstudie"))
    expect(page).to have_current_path pericopes_path
    expect(page).to have_no_content "Jona"
  end

这是我收到的错误

  1. 用户可以成功删除学习笔记 失败/错误:expect(page).to have_content(t("activerecord.messages.deleted", model: "bijbelstudie"))

    Selenium::WebDriver::错误::UnexpectedAlertOpenError: 意外警报打开:{警报文本:Weet u zeker dat u deze bijbelstudie wilt verwijderen?} (会话信息:headless chrome=119.0.6045.159)

      # 0   chromedriver                        0x0000000104a2dd28 chromedriver + 4795688
        # 1   chromedriver                        0x0000000104a252b3 chromedriver + 4760243
        # 2   chromedriver                        0x00000001045fe88d chromedriver + 407693
        # 3   chromedriver                        0x000000010460c2c6 chromedriver + 463558
        # 4   chromedriver                        0x000000010461208b chromedriver + 487563
        # 5   chromedriver                        0x00000001045e3920 chromedriver + 297248
        # 6   chromedriver                        0x000000010460bd32 chromedriver + 462130
        # 7   chromedriver                        0x0000000104690a51 chromedriver + 1006161
        # 8   chromedriver                        0x0000000104674a73 chromedriver + 891507
        # 9   chromedriver                        0x000000010463f143 chromedriver + 672067
        # 10  chromedriver                        0x000000010464031e chromedriver + 676638
        # 11  chromedriver                        0x00000001049ee795 chromedriver + 4536213
        # 12  chromedriver                        0x00000001049f3853 chromedriver + 4556883
        # 13  chromedriver                        0x00000001049d4001 chromedriver + 4427777
        # 14  chromedriver                        0x00000001049f459d chromedriver + 4560285
        # 15  chromedriver                        0x00000001049c548c chromedriver + 4367500
        # 16  chromedriver                        0x0000000104a140e8 chromedriver + 4690152
        # 17  chromedriver                        0x0000000104a1429e chromedriver + 4690590
        # 18  chromedriver                        0x0000000104a24eee chromedriver + 4759278
        # 19  libsystem_pthread.dylib             0x00007ff8036f5202 _pthread_start + 99
        # 20  libsystem_pthread.dylib             0x00007ff8036f0bab thread_start + 15
        # 
    
./spec/features/study_notes/deleting_studynotes_spec.rb:19:in `block (2 levels) in <top (required)>'

在 8.38 秒内完成(文件加载耗时 5.32 秒) 2 个例子,1 个失败

capybara rspec-rails
1个回答
0
投票

如果有人遇到同样的问题,我是这样解决的。 我注意到在页面源代码中我所有的 javascript 文件都被加载了两次。从我的 application.html.haml 中删除这两行后,问题就解决了。

= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
© www.soinside.com 2019 - 2024. All rights reserved.