【问题标题】:Which selenium command can I use to assert an element is not present我可以使用哪个 selenium 命令来断言元素不存在
【发布时间】:2017-07-27 08:29:37
【问题描述】:

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

对于我正在使用的那些:

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

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

【问题讨论】:

    标签: ruby google-chrome selenium-webdriver


    【解决方案1】:

    切换到组收集器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

    【讨论】:

    • 感谢@TomLord,不熟悉那个测试框架,习惯rspec expect(...).to eq 0 / expect(...).to be_empty。也许有一个assert_empty
    • Yes, there is。实际上,这可能会更好,因为它会提供更有帮助的失败消息。
    • 谢谢你,汤姆。它正在工作:)。感谢您的帮助。
    • @Veit-BenediktKramer 你能接受正确的答案吗?
    • 是的,我可以。谢谢大家:)
    猜你喜欢
    • 2017-06-27
    • 1970-01-01
    • 2011-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    相关资源
    最近更新 更多