水豚等待页面.选择器to_have



我需要验证页面中特定部分是否存在某些文本。

expect(page).to将输出过多的文本,这对于保存协议条款的页面来说尤其令人讨厌,因为协议条款总是很长。

我想把expect(page).to(have_text(变成expect('#id').to(have_text(...)

我不知道如何选择由ID引用的页面部分。我应该把我的expect(page)写在within('#id')里面吗?

编辑:如果可能的话,一个针对嵌套标签的解决方案

<div id="id">
  <span class="nested">...</span>
  Text I want to check with have_text()
</div>`

你有多种选择,要么

section = find(:css, '#id') #the :css may be optional depending on your Capybara.default_selector setting
# or - section = find_by_id('id')
expect(section).to have_text(...)

expect(page).to have_css('#id', text: '...')

expect(page).to have_selector(:id, 'id', text: '...')

取决于您是否需要该元素用于其他内容

相关内容

  • 没有找到相关文章

最新更新