2009-09-25 60 views
0

有一個產品列表(html表格)。每行都有產品名稱,並以「添加到購物車」按鈕結束。如何在webrat中添加2'咖啡'和3'茶'?用webrat選擇頁面元素

對應的HTML:

<tr class="odd"> 
     <td><img src="/images/menu_items_images/7/PICT0020_thumb.jpg" /></td> 
     <td>cofee</td> 
     <td>americano</td> 
     <td>1.0</td> 
     <td><form action="/cart/add_item/7" method="post" onsubmit="$.ajax({data:$.param($(this).serializeArray()) + '&amp;authenticity_token=' + encodeURIComponent('rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4='), dataType:'script', type:'post', url:'/cart/add_item/7'}); return false;"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4=" /></div>   <input name="commit" type="submit" value="Add to cart" /></form></td> 
</tr> 
<tr class="even"> 
     <td><img src="/images/menu_items_images/6/PICT0053_thumb.JPG" /></td> 
     <td>tea</td> 
     <td>green</td> 
     <td>2.0</td> 
     <td><form action="/cart/add_item/6" method="post" onsubmit="$.ajax({data:$.param($(this).serializeArray()) + '&amp;authenticity_token=' + encodeURIComponent('rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4='), dataType:'script', type:'post', url:'/cart/add_item/6'}); return false;"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="rDzsxOQSgwTT3rjUDROFGNz4hMs6BK0riGemVi+NHK4=" /></div>   <input name="commit" type="submit" value="Add to cart" /></form></td> 
</tr> 
+0

您能否提供更多詳細信息?也許有了HTML會有所幫助。 – nicholaides 2009-10-27 20:10:00

+0

我認爲答案可能是html不可知的。但現在我認爲你是對的。 – artemave 2009-10-29 22:35:41

回答

0

給你添加到購物車按鈕ID,如id="add_item_6"那麼你可以使用webrat點擊你想要的按鈕。

When /^I press Add to cart for "([^\"]*)"$/ do |item| 
    id = Item.find_by_name(item).id 
    click_button('add_item_' + id.to_s) 
end 

那麼你的步驟將是

When I press Add to cart for "coffee" 
+0

更改應用程序代碼以便測試正常工作是一個很大的NONO – artemave 2009-11-12 11:34:30

+0

我實際上期望的是有人展示如何在Webrat中使用Nokogiri,因爲前者帶有xpath選擇器。 – artemave 2009-11-12 11:38:29

0

我認爲,加入id來的鏈接,其實是語義標記,一個很好的做法。如果您不想使用它,我認爲您可以使用位置()謂詞(請參閱http://www.w3.org/TR/xpath/