2011-11-30 19 views
2

我使用Rspec的和水豚的鏈接。如何點擊圖片爲使用RSpec的和水豚

我如何寫一個步驟,點擊圖片?我一直無法找到一個很好的方式讓水豚看到圖像作爲鏈接。

感謝

HTML

<a title="inGroups" href="/de/users/index/roles-list/serviceID/1112/inGroup/1"> 
    <img border="0" alt="inGroups" src="/themes/system/images/icon/16/role_activate.png"> 

<a title="inGroups" href="/de/users/index/roles-list/serviceID/1114/inGroup/1"> 
    <img border="0" alt="inGroups" src="/themes/system/images/icon/16/role_activate.png"> 

<a title="notInGroups" href="/de/users/index/roles-list/serviceID/1112/inGroup/0"> 
    <img border="0" alt="notInGroups" src="/themes/system/images/icon/16/role_deactivate.png"> 

<a title="notInGroups" href="/de/users/index/roles-list/serviceID/1114/inGroup/0"> 
    <img border="0" alt="notInGroups" src="/themes/system/images/icon/16/role_deactivate.png"> 

任何建議的

實例?

回答

9

這應該不會有什麼不同,以點擊普通鏈路。我沒有看到你會如何去選擇你的例子中的一個單獨的鏈接,但沒有任何鏈接上的唯一標識屬性。

如果你不能改變的標記,你可能需要使用XPath實際的網址,例如選擇href元素

my_link = find(:xpath, "//a[contains(@href,'1114/inGroup/1')]") 

會給你的第一個鏈接,然後

my_link.click 

應該單擊它作爲正常。

編輯:只是爲了澄清,重要的是你選擇a元素並點擊它,而不是img

+0

您正在使用哪種驅動程序?這聽起來很合理,但'水豚:: ElementNotFound: 無法找到的XPath 「一[包含(@ HREF, '1114 /內羣/ 1')]」 #(EVAL):2:'找到」' –

+0

我只是編輯XPath來包括「//」前綴 - 嘗試 –

+0

真棒!男人,你又救了我......非常感謝:) –

0

我把這個和作品: 爲的index.html練到顯示:

find("img[src*='photo03.jpg']").click 

爲show.html

expect(page).to have_css("img[src*='photo03.jpg']")