如何在带有换行符的文本中使用 expect?

How to use expect in text with line breaks?

我正在使用 capybaracucumberwebdriver 进行一些自动化测试。

我有一个 objective 来知道页面上是否加载了文本,但是其中有一个 css 属性 white-space 破坏了文本expect 找不到。

我的代码是这样的

HTML

<p style="white-space: pre-wrap;">
    Some 
    cool 
    text
</p>

Cucumber.Feature

expect(page).to have_selector('p', text: 'Some')
expect(page).to have_selector('p', text: 'cool')
expect(page).to have_selector('p', text: 'text')

我正在寻找类似于:

#This text will failure in teste
expect(page).to have_selector('p', text: 'Some cool text')

Capybara 尝试按照浏览器显示文本的方式处理文本。如果浏览器在多行中显示文本,请尝试

expect(page).to have_selector('p', text: "Some\ncool\ntext")

如果这不起作用,您始终可以按照

行使用正则表达式
expect(page).to have_selector('p', text: /Some\s+cool\s+text/)