切换到无头Chrome后如何忽略多余的空格

时间:2018-11-20 12:06:12

标签: capybara google-chrome-headless

最近,我将黄瓜测试从capybara-webkit切换为无头铬。现在许多功能都无法使用

  

期望在“由[两个空格] J。史密斯评论”中找到文本“由J. Smitch评论”

有没有办法告诉水豚忽略多余的空格? 还是我需要在步骤定义中添加空格以使失败的测试变为绿色?

更新1

我的标记中有 个空格,没有像这样规范化

<div>
  commented by
  &nbsp;
  <span>J. Smith</span>
</div>

1 个答案:

答案 0 :(得分:1)

我猜想,您同时从Capybara-webkit切换到无头铬的硒,同时也从Capybara 2.x切换到3.x。 Capybara 3.x的重大变化之一是,它试图返回更多的空白,就像用户实际看到的那样。也就是说,如果您有&nbsp;标记中的字符不会因周围的空间而被折叠,因为浏览器不会这样做。您可以使用normalize_ws选项来返回更像2.x

的结果
expect(page).to have_text('blah blah', normalize_ws: true)

但是,如果您要添加&nbsp;页面上的字符,您可能应该检查文本是否按预期显示为多个空格。