以下工作如预期:
within('h2',text: 'foo') do should have_content 'bar' end@H_301_4@我试图检查父元素,使用find(:xpath,’..’) @H_301_4@一旦你找到一个元素,如何应用.find(:xpath,’..’),然后检查该元素内的东西?
解决方法
当您使用XPath定位器内部时,应该从它开始. (如果没有开始,搜索不是在.myclass内部,而是在整个文档内).
@H_301_4@例如.:
within('.myclass') do find(:xpath,'./div') end@H_301_4@要么:
find('.myclass').find(:xpath,'./div')@H_301_4@@ BSeven答案的代码可以写成一行:
expect(find("//h2[text()='foo']/..")).to have_text('bar')@H_301_4@要么
expect(page).to have_xpath("//h2[.='foo']/..",text: 'bar')