如何从多个CSS选择器中选择使用水豚
问题描述:
使用RSpec和水豚测试div中类的'foo'是否存在。如何从多个CSS选择器中选择使用水豚
<div class="foo">
<p>Text zzz</p>
Looking for element here
</div>
<div class="foo">
<p>Text aaa</p>
Element should not exist within this div.
</div>
有很多的div类网页上“富”,我可以根据Foo的数据库中的ID给他们不同的ID。
但我不知道测试中的foo的ID。而且,我不想测试div的父项,因为一个元素应该存在于一个div中,并且不存在于另一个div中。
在这种情况下测试元素的最佳方法是什么?
答
parent = find("p[text()='zzz']").find(:xpath,"..")
within parent do
...
答
如果我理解正确的问题(我不是100%的信心我),我认为这应该工作:
el1 = find(:xpath, '//div[@class="foo"][./p[contains(.,"Text zzz")]]')
el2 = find(:xpath, '//div[@class="foo"][./p[contains(.,"Text aaa")]]')
有可能是一个稍微简单的做到这一点使用CSS代替的XPath的方式,但我发现这适用于这种情况。 (注:我并没有实际测试此代码。)
从你措辞的问题的方式,有没有办法来确定在哪个元素的含量应。你说你在测试环境中没有foo的id,但是你有什么? – 2012-08-16 00:52:52
更新了更多信息。 – 2012-08-16 00:55:35