Ruby on rails 如何在rails中进行功能测试引导star评级
我正在尝试用cucumber和capybara在rails中进行功能测试,以测试bootstrap的星级,但我不知道如何做到这一点。 我想描述这一步“当我选择一颗星进行评级时” 鉴于Ruby on rails 如何在rails中进行功能测试引导star评级,ruby-on-rails,cucumber,capybara,functional-testing,Ruby On Rails,Cucumber,Capybara,Functional Testing,我正在尝试用cucumber和capybara在rails中进行功能测试,以测试bootstrap的星级,但我不知道如何做到这一点。 我想描述这一步“当我选择一颗星进行评级时” 鉴于 <%= form_tag("/medics/rating", method: "post") do %> <input id="input-2a" class="rating" name="grade" data-min="0" data-max="5"
<%= form_tag("/medics/rating", method: "post") do %>
<input id="input-2a" class="rating" name="grade" data-min="0" data-max="5" data-step="1" data-stars=5
data-glyphicon="false">
<%= hidden_field_tag :medic_id, @medic.id %>
<%= submit_tag 'Avaliar' , class: 'btn btn-lg btn-success' %>
<%end%>
</div>
</div>
</div>
我知道这是一个老问题,但我最近遇到了同样的问题并找到了解决办法。简而言之,使用一个JavaScript驱动程序,例如poltergeist/selenium我正在使用selenium,并使用page.evaluate_脚本向输入提供值 我没有使用Cucumber,但是,以下是我使用minitest和capybara/minitest/rails的工作原理:
script = "document.getElementById('review_rating').value = '3'"
click_link 'add a review'
fill_in 'review[take_away]', with: 'Review takeaway'
fill_in 'review[body]', with: 'Review body'
page.evaluate_script(script)
click_button 'Review!'
因为这是100%的水豚语法,所以我使用minitest和你使用Cucumber这两个事实应该没有任何区别
script = "document.getElementById('review_rating').value = '3'"
click_link 'add a review'
fill_in 'review[take_away]', with: 'Review takeaway'
fill_in 'review[body]', with: 'Review body'
page.evaluate_script(script)
click_button 'Review!'