4

わかりましたので、ここで愚かなことをしていると確信していますが、これが私のページのボタン用に生成された HTML です。
<a href="/courses/1" class="btn" id="Enroll in Course">Enroll in Course</a>

Cucumber ステップの定義は次のとおりです。

When /^I go to the course homepage$/ do 
  visit("/courses/#{@course.id}")
end 

Then /^I should see the "(.*?)" button$/ do |button|
  has_button?(button)
end

When /^I click on "(.*?)"$/ do |button| 
  click_on(button)
end

ボタンがページに存在するかどうかを確認する2番目のステップは問題なく通過しますが、ボタンをクリックする3番目のステップは、ボタンまたはリンクが見つからないと言います(click_onボタンとリンクの両方を処理することになっています)。

なぜそれが起こっているのですか?

私は twitter ブートストラップを使用しています。これは、上記の html を生成する erb ファイルのスニペットです。
<%= link_to 'Enroll in Course',course_path, :class => 'btn', :id => 'Enroll in Course' %>

どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

3

最悪のシナリオでは、css セレクターで要素を見つけて強制的にクリックすることができます。

find('#enrollInCourse').click
于 2013-02-27T13:33:36.023 に答える