我有一个网页,我以打印机友好格式显示,标题后跟属于该组的项目。 例如:
Headline1
=========
Item1
Item2
Item3
Headline2
=========
Item4
Item5
我想使用黄瓜+水豚来运行功能测试并验证页面是否具有正确的内容。 我怎么能这么简单呢?因为我想确保每个项目都以正确的标题结束。
我的第一次尝试是使用
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项目或我可以在其中查看。
答案 0 :(得分:2)
将page.text
与include?
或match
方法结合使用。
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中显示为“a b”。