如何确保使用watir-rails单击链接

时间:2015-09-29 21:10:51

标签: ruby-on-rails watir watir-webdriver

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

我需要证明一个链接实际上是由watir驱动程序点击的,所以如果点击链接,我会尝试put到控制台:

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

但点击链接时没有任何内容会打印到控制台。对于我点击操作的所有地方,此行为都是相同的。另一个例子是:

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

如果点击此操作,我怎样才能获得某种日志?感谢

1 个答案:

答案 0 :(得分:0)

程序方法被称为其行动/副作用,不应期望有回应。

如果没有收到错误,那么Watir找到了该元素并向其发送了一个click命令。

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

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

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