如果在水豚中存在类,如何检查可见性?

时间:2017-08-23 17:57:50

标签: ruby capybara minitest

使用capybara和minitest,如果元素存在于页面上,您如何检查元素的可见性?该课程并不总是保证在那里,所以我需要先检查它是否在页面上。

我能想到的只有:

assert find(".class-name").visible? if has_css?(".class-name", :wait=>0)

还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

默认情况下,Capybara只能找到可见元素,所以

if has_css?(".class-name", wait: 0)
如果元素在页面上可见,

将仅返回true

如果你想验证该元素不在页面上,或者它是否在页面的源中,它必须是可见的,那么你可以做类似的事情

assert_css('.class-name') if has_css?('.class-name', visible: :all)

或只是

refute_css('.class-name', visible: :hidden) # ensure there is no non-visible element with the class name