水豚 have_selector 没有在复选框上工作
Capybara have_selector is not working on checkbox
在我看来,我有一个复选框
<input type="checkbox" id="modal-checkbox" class="painter-modal-checkbox" data-reactid=".1.1:1.0.0">
在我的水豚代码中,我正在尝试使用 have_selector 方法
expect(page).to have_selector("#modal-checkbox")
当我使用
跟踪页面时,这失败了
print page.html
我可以确认我的 html 代码在那里,为什么这个测试失败了。
这通常是因为该字段实际上不可见,因为它通过 CSS 隐藏了。对于复选框,这通常是因为设计要求在隐藏实际复选框时使用标签来显示复选框的选定状态。要检查可见性是否是问题,您可以将 visible: false 传递给 have_selector,但是 99% 的时间您不应该检查不可见的项目,因为用户将无法看到它们或与它们交互
在我看来,我有一个复选框
<input type="checkbox" id="modal-checkbox" class="painter-modal-checkbox" data-reactid=".1.1:1.0.0">
在我的水豚代码中,我正在尝试使用 have_selector 方法
expect(page).to have_selector("#modal-checkbox")
当我使用
跟踪页面时,这失败了print page.html
我可以确认我的 html 代码在那里,为什么这个测试失败了。
这通常是因为该字段实际上不可见,因为它通过 CSS 隐藏了。对于复选框,这通常是因为设计要求在隐藏实际复选框时使用标签来显示复选框的选定状态。要检查可见性是否是问题,您可以将 visible: false 传递给 have_selector,但是 99% 的时间您不应该检查不可见的项目,因为用户将无法看到它们或与它们交互