0

私は簡単な機能を持っています:

Feature: User can see the welcome page
Scenario: User can see the worker page
    Given I am on the welcome page  
    Then I should see the Worker button
    When I click on the  Worker button
    Then I should be on the Worker page

Scenario: User can see the requester page 
    Given I am on the welcome page  
    Then I should see the Requester button 
    When I click on the Requester button 
    Then I should be on the Requester page 

奇妙なことに、Worker ボタンは表示されるはずですが、クリック オン テストには合格できません。

これが私のステップ定義です

Then /^I should see the (.+) button$/ do |button_name|
  page.has_button? button_name
end

When /^I click on the (.*) button$/ do |button_name|
  #page.has_button? button_name
  click_on button_name
end

私のウェルカムページはこちら

  div.row
    %div.span6
      = button_to 'Worker', workers_path, :class => "btn btn-large btn-primary"
    %div.span6                   
      = button_to 'Requester', requesters_path, :class => "btn btn-large btn-primary"

has_button はありますか? カビバラやキュウリの方法?

4

2 に答える 2

1

Then ステップは、ページの内容に関係なく常にパスしhas_button?ます。true または false を返すため、どちらも Cucumber ステップが失敗することはありません。そのためには、ステップで例外をスローする必要があります。これは、次を使用して実現するのが最適です。

page.should have_button button_name
于 2012-05-01T14:05:20.007 に答える
0

has_button?カピバラが提供する方法です。ここに文書化されています

click_on button_name 試す代わりにclick_button button_name

于 2012-05-01T11:36:57.863 に答える