为什么从capybara查询返回的nil值或空数组具有text属性?

时间:2015-06-03 17:10:31

标签: ruby angularjs capybara automated-tests

疯狂的问题。我正在使用capybara,webdriver和firefox测试一个angularjs应用程序。我有一个返回范围查询结果的方法:

def all_list_items
  page.within(list_container) { page.all(list_item) }
end

第二种检索第一个结果的text属性的方法。

def first_result_text
  all_list_items.first.text
end

有时会返回一个空数组,即。它没找到任何东西。 当发生这种情况时,我在空数组上调用.text,它会在屏幕上显示所有可见文本。

当我在空数组的第一项上调用.text(所以在nil上调用它)时,它会返回屏幕上的所有可见文本。

我很困惑。

1 个答案:

答案 0 :(得分:0)

#all返回一个Capybara :: Result,它没有#text方法 - 所以什么类是"空数组"你看到了吗?