如何确保使用 watir-rails 单击 link

how to make sure a link is clicked with watir-rails

我正在使用 watir 来执行一些功能

我需要证明 link 实际上被 watir 驱动程序点击了,所以如果 link 被点击为关注:

puts "profile clicked" if click_my_profile_link(browser)

和:

 def self.click_my_profile_link(browser)
    browser.div(class: "topbar").when_present
      .link(class: 'my-profile').click
  end

但是当 link 被点击时,控制台不会打印任何内容。这种行为对于我有点击操作的任何地方都是一样的。另一个例子是:

puts "Next button clicked" if browser.input(id: 'next', value: 'Next').fire_event :click

当像这样触发点击操作时,我怎样才能得到某种日志?谢谢

程序方法是为其 action/side-effect 调用的,不应期望有响应。

如果您没有收到错误,则说明 Watir 找到了该元素并向其发送了点击命令。

所以也许这就足够了expect {click_my_profile_link(browser)}.to_not raise_error

通常您编写测试来验证 link 的结果。在这种情况下,类似于 expect(browser.title == "My Profile Title").to be true

您可以创建一个 AfterHook,它会在每次导航和点击后执行额外的操作,但它不会区分这两者,我真的不认为那是您真正想要的。