如何检查表列是否给出了文本?

时间:2012-03-26 10:17:24

标签: ruby-on-rails cucumber

我正在做作业,需要检查HTML表格栏是否有文字。我从web_steps.rb复制了示例并尝试更改以满足我的需要,但测试失败。 步骤:

And I should not see 'G'

失败的步骤定义:

Then /^(?:|I )should not see '([^']*)'$/ do |text|
  save_and_open_page
  if page.respond_to? :should
    page.find('#movies').should have_no_content(text)
  else
    assert page.find('#movies').has_no_content?(text)
  end  
end

错误是:

  

期望#has_no_content?(“G”)返回true,得到false   (RSpec的期望:: :: ExpectationNotMetError)         ./features/step_definitions/movie_steps.rb:35:in /^(?:|I )should not see '([^']*)'$/' features/filter_movie_list.feature:37:in我不应该看到'G''

电影是表格的id。

表格如下: enter image description here

我被困在这里,无法继续前进。有人能给我一些提示来解决这个问题吗?

2 个答案:

答案 0 :(得分:4)

您可以尝试:

assert page.find('#movies').has_no_content?(">#{text}<")

答案 1 :(得分:1)

它失败的原因是因为它在&#34; PG&#34;中看到了资本G.基本上,你想要的是在&#34;评级&#34;有G等级的专栏,对吧?您可能想要尝试使用的是XPath,在您的步骤中深入了解TD并检查整个单元格是否包含您的文本。