以下按预期方式工作:
within('h2', text: 'foo') do
should have_content 'bar'
end
我正在尝试使用find(:xpath, '..')
找到元素后,如何应用.find(:xpath, '..')
,然后检查 元素中的内容?
答案 0 :(得分:18)
当您在within
中使用XPath定位符时,它应该以{{1}}开头(如果它不是以.
开头,则搜索不在.
内但在整个文件)。
E.g:
.myclass
或:
within('.myclass') do
find(:xpath, './div')
end
来自@ BSeven的答案的代码可以写成一行:
find('.myclass').find(:xpath, './div')
或
expect(find("//h2[text()='foo']/..")).to have_text('bar')
答案 1 :(得分:4)
以下是一种方法:
within('h2', text: 'foo') do
within(:xpath, '..') do
should have_content 'bar'
end
end
答案 2 :(得分:4)
在2.11之后使用Rspec的新语法,它应该是;
public class NewsModel {
String headlines;
String weblink;
String imagelink;
public String getHeadlines() {
return headlines;
}
public void setHeadlines(String headlines) {
this.headlines = headlines;
}
public String getWeblink() {
return weblink;
}
public void setWeblink(String weblink) {
this.weblink = weblink;
}
public String getImagelink() {
return imagelink;
}
public void setImagelink(String imagelink) {
this.imagelink = imagelink;
}
public String getShortnews() {
return shortnews;
}
public void setShortnews(String shortnews) {
this.shortnews = shortnews;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
String shortnews;
String source;
String date;
}