加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:43:08 所属栏目:百科 来源:网络整理
导读:以下工作如预期: within('h2',text: 'foo') do should have_content 'bar' end 我试图检查父元素,使用find(:xpath,’..’) 一旦你找到一个元素,如何应用.find(:xpath,’..’),然后检查该元素内的东西? 解决方法 当您使用XPath定位器内部时,应该从它开始.
以下工作如预期:
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')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读