我收到错误,因为警报已打开。我认为我以正确的方式处理它;-) 根据我的研究,“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
这是我收到的错误
用户可以成功删除学习笔记 失败/错误: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 个失败
如果有人遇到同样的问题,我是这样解决的。 我注意到在页面源代码中我所有的 javascript 文件都被加载了两次。从我的 application.html.haml 中删除这两行后,问题就解决了。
= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
= javascript_include_tag 'application', 'data-turbolinks-track': 'reload'