3

我有一个网页,我以打印机友好的格式显示,标题后跟属于该组的项目。例子:

Headline1
=========
Item1
Item2
Item3

Headline2
=========
Item4
Item5

我想使用 cucumber + capybara 运行功能测试并验证页面内容是否正确。我将如何尽可能简单地做到这一点?因为我想确保每个项目都在正确的标题下结束。

我的第一次尝试是使用

page.should have_content"Headline1
=========
Item1
Item2
Item3

Headline2
=========
Item4
Item5"

但这给了我一个奇怪的错误:

expected there to be content "Headline1\n=========\nItem1\n and so on" in "Headline1\n=========\nItem1\n and so on"

换句话说,这两行是完全一样的!!!为什么这不起作用?任何解决方法?请注意,该页面仅包含基本文本,因此没有 div 项目或我可以在其中检查的内容。

4

1 回答 1

3

使用page.textwith include?ormatch方法。

http://robots.thoughtbot.com/post/8399836754/multiline-strings-in-capybara http://praktikanten.brueckenschlaeger.org/2011/11/15/working-in-cucumber-with-new-lines-and -have_content

第一个链接的引用:

在 Capybara 中检查多行字符串时,您需要使用 page.text,因为 page.source 不保留新行 - 因此“a\nb”会在 page.source 中显示为“ab”。

于 2012-07-09T14:34:21.623 回答