2012-08-16 104 views
0

使用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中。

在這種情況下測試元素的最佳方法是什麼?

+0

從你措辭的問題的方式,有沒有辦法來確定在哪個元素的含量應。你說你在測試環境中沒有foo的id,但是你有什麼? – 2012-08-16 00:52:52

+0

更新了更多信息。 – 2012-08-16 00:55:35

回答

2

如果我理解正確的問題(我不是100%的信心我),我認爲這應該工作:

el1 = find(:xpath, '//div[@class="foo"][./p[contains(.,"Text zzz")]]') 
el2 = find(:xpath, '//div[@class="foo"][./p[contains(.,"Text aaa")]]') 

有可能是一個稍微簡單的做到這一點使用CSS代替的XPath的方式,但我發現這適用於這種情況。 (注:我並沒有實際測試此代碼。)