node.trigger("click") - 水豚
node.trigger("click") - Capybara
我有一个元素,我想在 node.trigger("click") 上使用它,但我不确定如何找到该元素。这是一个 link_to
并且我对集成测试比较陌生 os 我正在尝试找到这个问题的答案。
这是元素
<%= link_to '✚ Invite Another Team Member', "#email", data: { invitation_modal_add: "" } %>
这是我想更改的测试。
click_link "✚ Invite Another Team Member"
我想用这样的东西替换它
link.trigger("click")
因为这就是水豚告诉我现在要尝试的,因为我收到了这个错误
Capybara::Poltergeist::MouseEventFailed:
Firing a click at co-ordinates [0, 0] failed. Poltergeist detected another element with CSS selector 'html.no-mobile.wf-loading.js.touch-events body.accounts.users.index div.jquery-modal.blocker' at this position. It may be overlapping the element you are trying to interact with. If you don't care about overlapping elements, try using node.trigger('click').
找到你可以做的元素
link = find(:link, "✚ Invite Another Team Member")
然而,在您开始使用触发器之前,您应该阅读之前的错误消息部分 - "if you don't care about overlapping elements"。如果您实际上正在测试您的应用程序,您可能确实关心重叠元素,因为它们可以阻止您的用户实际能够点击 link,并且它试图点击 0 处的 link ,0 可能表示您的页面布局存在问题。您可能应该尝试设置更大的 window 大小(注册驱动程序时的 window_size 选项 - https://github.com/teampoltergeist/poltergeist#customization),这样 link 就不会重叠,确保 link在某种程度上不完全 hidden/collapsed,或者使用 execute_script 和 JS 来滚动页面,使元素变得可交互。如果你真的不关心用户是否真的能够点击 link 然后随意使用 #trigger
我有一个元素,我想在 node.trigger("click") 上使用它,但我不确定如何找到该元素。这是一个 link_to
并且我对集成测试比较陌生 os 我正在尝试找到这个问题的答案。
这是元素
<%= link_to '✚ Invite Another Team Member', "#email", data: { invitation_modal_add: "" } %>
这是我想更改的测试。
click_link "✚ Invite Another Team Member"
我想用这样的东西替换它
link.trigger("click")
因为这就是水豚告诉我现在要尝试的,因为我收到了这个错误
Capybara::Poltergeist::MouseEventFailed:
Firing a click at co-ordinates [0, 0] failed. Poltergeist detected another element with CSS selector 'html.no-mobile.wf-loading.js.touch-events body.accounts.users.index div.jquery-modal.blocker' at this position. It may be overlapping the element you are trying to interact with. If you don't care about overlapping elements, try using node.trigger('click').
找到你可以做的元素
link = find(:link, "✚ Invite Another Team Member")
然而,在您开始使用触发器之前,您应该阅读之前的错误消息部分 - "if you don't care about overlapping elements"。如果您实际上正在测试您的应用程序,您可能确实关心重叠元素,因为它们可以阻止您的用户实际能够点击 link,并且它试图点击 0 处的 link ,0 可能表示您的页面布局存在问题。您可能应该尝试设置更大的 window 大小(注册驱动程序时的 window_size 选项 - https://github.com/teampoltergeist/poltergeist#customization),这样 link 就不会重叠,确保 link在某种程度上不完全 hidden/collapsed,或者使用 execute_script 和 JS 来滚动页面,使元素变得可交互。如果你真的不关心用户是否真的能够点击 link 然后随意使用 #trigger