使用capybara和minitest,如果元素存在于页面上,您如何检查元素的可见性?该课程并不总是保证在那里,所以我需要先检查它是否在页面上。
我能想到的只有:
assert find(".class-name").visible? if has_css?(".class-name", :wait=>0)
还有其他方法吗?
答案 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