2012-06-28 23 views
3

好了,所以我敢肯定,我在这里做一些愚蠢的,但这里是一个按钮生成的HTML我的网页上
<a href="/courses/1" class="btn" id="Enroll in Course">Enroll in Course</a>水豚/黄瓜不能在Twitter的引导Rails应用程序点击一个链接/按钮

黄瓜步骤定义如下:

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 

如果页面上是否存在按钮,这是检查第二步完美穿过但其上的按钮点击第三步骤中,说按钮或链接不发现(click_on应该处理这两个按钮和链接)。

任何想法为什么发生这种情况?

我使用Twitter的引导,这里是从ERB文件的片段,产生上述的HTML:
<%= link_to 'Enroll in Course',course_path, :class => 'btn', :id => 'Enroll in Course' %>

任何帮助将不胜感激! 谢谢!

+0

确定只是尝试修改第二步定义为:然后/ ^我应该看到“(。*?)”按钮$/do | button | has_button(按钮) click_on(按钮) 结束 和它click_on(按钮)与此消息失败:是吗,我应该能看到“参加课程”按钮#特性/ step_definitions/course_steps.rb:10 没有链接或按钮'注册课程'找到(水豚:: ElementNotFound) (评估):2:在'click_on' ./features/step_definitions/course_steps.rb:12:in'/ ^我应该看到“(。* “)”button $ /' features/courses.feature:11:in'然后我应该看到“注册课程”按钮' –

+0

ok刚试过用button_to,而不是link_to,生成的HTML改为: ...但仍然失败! –

+1

我不认为'注册课程'是一个有效的HTML ID。这可能会抛弃它。你究竟传递给'click_on'的是什么? –

回答

2

最糟糕的情况下,您可以通过其CSS选择器找到该元素,并强制单击它。

find('#enrollInCourse').click