ruby-on-rails – 如何使用Capybara结合发现和内部?

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 如何使用Capybara结合发现和内部?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下工作如预期:
within('h2',text: 'foo') do
      should have_content 'bar'
 end

我试图检查父元素,使用find(:xpath,’..’)

一旦你找到一个元素,如何应用.find(:xpath,’..’),然后检查该元素内的东西?

解决方法

当您使用XPath定位器内部时,应该从它开始. (如果没有开始,搜索不是在.myclass内部,而是在整个文档内).

例如.:

within('.myclass') do
  find(:xpath,'./div')
end

要么:

find('.myclass').find(:xpath,'./div')

@ BSeven答案的代码可以写成一行:

expect(find("//h2[text()='foo']/..")).to have_text('bar')

要么

expect(page).to have_xpath("//h2[.='foo']/..",text: 'bar')
原文链接:https://www.f2er.com/ruby/271767.html

猜你在找的Ruby相关文章