【问题标题】:How to check for visibility if the class exists in capybara?如果水豚中存在该类,如何检查可见性?
【发布时间】:2017-08-23 17:57:50
【问题描述】:

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

我能想到的只有:

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

还有其他方法吗?

【问题讨论】:

    标签: ruby capybara minitest


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      • 2018-09-09
      • 1970-01-01
      相关资源
      最近更新 更多