【问题标题】:Cucumber & webrat, selecting from a radio button listCucumber & webrat,从单选按钮列表中选择
【发布时间】:2010-09-11 17:58:07
【问题描述】:

我正在尝试让 webrat 使用 cucumber 从列表中选择一个单选按钮。

我有这种情况:

Scenario: Update an existing article
    Given I have an article with title Big Bananas and body text Big yellow bananas are good for you
    And I am on the list of articles
    When I choose "Big Bananas"
    And press "Update article"
    And I fill in "Title" with "Massive Bananas"
    And I press "Save"
    Then I should have an article titled Massive Bananas
    And I should not have an article titled Big Bananas

我的观点包含:

.
.
<% @articles.each do |article| %>
  <tr>
    <td><%= radio_button_tag "article", article.title %></td>
    <td><%= article.title %></td>
    <td>
      <%article.tags.each do |tag|%>
        <div><%= tag.name %></div>
      <%end%>
    </td>
  </tr>
<%end%>
.
.

问题是我需要我的单选按钮 ID 作为文章的标题,以便网络老鼠可以从我的黄瓜场景中获取它,目前我的项目输出如下所示:

<tr>
  <td><input id="article_big_bananas" name="article" type="radio" value="Big Bananas" /></td>  
  <td>Big Bananas</td>
  <td>  
    <div>fruit</div>
    <div>yellow</div>
  </td>
</tr>

任何想法我应该如何做到这一点?

【问题讨论】:

  • When I choose "article_big_bananas" 不起作用?

标签: ruby-on-rails cucumber bdd webrat


【解决方案1】:

我现在解决了这个问题,但做法略有不同。我有一堆如果我将 ID 设置为 Edit_* 的编辑链接,其中 * 是文章 ID。然后我有一个黄瓜步骤,它使用名称从数据库中检索文章 ID,然后使用 ID Edit_* 跟随链接。这是我更新的代码:

功能

  Scenario: Update an existing article
    Given I have an article with title "Big Bananas" and body text "Big yellow bananas are good for you"
    And I am on the list of articles
    When I follow "Edit" for "Big Bananas"
    And press "Update article"
    And I fill in "Title" with "Massive Bananas"
    And I press "Save"
    Then I should have an article titled "Massive Bananas"
    And I should not have an article titled "Big Bananas"

查看

<table>
  <tr>
    <th>Articles</th>
    <th>Tags</th>
    <td></td>
  </tr>
  <% @articles.each do |article| %>
  <tr>
    <td><%= article.title %></td>
    <td>
      <%article.tags.each do |tag|%>
      <div><%= tag.name %></div>
      <%end%>
    </td>
    <td><%= link_to "Edit", {:controller => "articles", :action => "edit", :id => article.id}, :id => "Edit_" + article.id.to_s %></td>
  </tr>
  <%end%>
</table>
<%= link_to "New article", :action => "new" %>
<% if flash[:notice] %>
   <%= flash[:notice] %>
<% end %>

黄瓜步骤点击正确的编辑链接

When /^I follow "([^\"]*)" for "([^\"]*)"$/ do |link, article_title|
  article = Article.find_by_title article_title
  click_link link + "_" + article.id.to_s
end

希望对遇到同样问题的人有所帮助。

【讨论】:

    猜你喜欢
    • 2018-09-19
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 2012-12-14
    • 2013-04-12
    相关资源
    最近更新 更多