如果内容存在,如何使用if / else条件

时间:2014-12-09 15:29:30

标签: ruby-on-rails ruby capybara

我的if / else条件存在问题,无法检查网页上是否有文字。如果没有,它应该打印“失败”。

visit "http://stackoverflow.com/"
if page.should have_content('stackoverflow') == true
 print " Passed \r\n"
else
 print " Failed \r\n"
end

如果是,则打印“Passed”,如果为false则打印“Failed”。

2 个答案:

答案 0 :(得分:2)

page.should have_content('stackoverflow')是一种期望 - 如果失败,它将抛出错误(RSpec::Expectations::ExpectationNotMetError)。如果您需要条件,则应使用has_content?

visit "http://stackoverflow.com/"
if page.has_content?('stackoverflow') == true
 print " Passed \r\n"
else
 print " Failed \r\n"
end

答案 1 :(得分:0)

我试过这个并且对我有用,但有没有更好的方法呢?

if page.has_text?('stackoverflow')
  print " Passed \r\n"
else
  print " Failed \r\n"
end