Cucumber 如何在带换行符的文本中使用expect?
我正在用Cucumber 如何在带换行符的文本中使用expect?,cucumber,capybara,Cucumber,Capybara,我正在用capybara、cucumber和webdriver进行一些自动化测试 我的目标是要知道一个页面上是否加载了一个文本,但是其中有一个css属性空白,它破坏了文本,expect无法找到 我的代码是这样的 HTML 我正在寻找类似于: #This text will failure in teste expect(page).to have_selector('p', text: 'Some cool text') 水豚试图以浏览器显示文本的方式处理文本。如果浏览器在多行上显示文本,请重
capybara
、cucumber
和webdriver
进行一些自动化测试
我的目标是要知道一个页面上是否加载了一个文本,但是其中有一个css属性空白
,它破坏了文本,expect无法找到
我的代码是这样的
HTML
我正在寻找类似于:
#This text will failure in teste
expect(page).to have_selector('p', text: 'Some cool text')
水豚试图以浏览器显示文本的方式处理文本。如果浏览器在多行上显示文本,请重试
expect(page).to have_selector('p', text: "Some\ncool\ntext")
如果这不起作用,您可以始终使用正则表达式
expect(page).to have_selector('p', text: /Some\s+cool\s+text/)
水豚试图以浏览器显示文本的方式处理文本。如果浏览器在多行上显示文本,请重试
expect(page).to have_selector('p', text: "Some\ncool\ntext")
如果这不起作用,您可以始终使用正则表达式
expect(page).to have_selector('p', text: /Some\s+cool\s+text/)
第一种方法我已经尝试使用了好几天,它仍然不起作用,但是第二种方法效果很好,非常感谢。@WEBLastWolf如果你能找到元素call element.text,它会告诉你浏览器告诉水豚文本是什么。事实上,你可以做
find('p',text:/Some\s+cool\s+text/)。text
看看这是我尝试了几天的第一种方法,它仍然不起作用,但是第二种方法效果很好,非常感谢。@WEBLastWolf,如果您能在上面找到元素call element.text,它将显示浏览器告诉Capybara的文本是什么。事实上,您只需执行查找('p',text:/Some\s+cool\s+text/)。text
并查看它是什么