我可以使用哪个selenium命令断言元素

时间:2017-07-27 08:29:37

标签: ruby google-chrome selenium-webdriver

我正在编写一个脚本,我将在其中验证是否存在某些元素而其他元素不存在。

  

对于现有的我使用

verify do
  assert_include(
    @driver.find_element(
      :css,
      "div.launchpadMain > section:nth-of-type(4) > div.launchpadCategoryBody > a:nth-of-type(2)"
    ).text,
    "shiftplan"
  )
 end
  

不存在的元素示例...我正在尝试:

verify do
  element_not_present(
    @driver.find_element(:css, "button.btn.btn-icon.pull-right > i")
  )
end

--->这不行。如果元素/对象存在,我可以使用哪个命令进行验证?在这种情况下,元素/对象是垃圾图标。

1 个答案:

答案 0 :(得分:0)

切换到组收集器find_elements(复数),以阻止它返回异常,然后断言它为空。

verify do
  assert_empty(
    @driver.find_elements(:css, "button.btn.btn-icon.pull-right > i").size
  )
end

find_elements:http://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium%2FWebDriver%2FFind:find_elements