Je suis un débutant relativement débutant une nouvelle application Ruby on Rails. J'ai commencé en suivant une combinaison d'instructions à https://github.com/intridea/omniauth, http://www.communityguides.eu/articles/16, http://intridea.com/2011/1/31/easy-rails-admin-login-with-google-apps-and-omniauth?blog=company. Au moment où tout semblait fonctionner correctement, j'ai commencé à écrire mes premières caractéristiques et étapes de concombre. J'ai réussi à faire quelques pas, mais j'ai été bloqué sur une marche que je pensais avoir été construite. J'ai un formulaire avec deux submit_tag
s mais je ne peux pas obtenir un scénario pour réussir un And I press "button"
étape de base.Échec du bouton 'concombre' du concombre (Capybara :: ElementNotFound)
peut-être des pierres précieuses pertinentes:
rails (3.1.0.rc4) capybara (1.0.0) cucumber (1.0.1) cucumber-rails (1.0.2) nokogiri (1.4.7) gherkin (2.4.5) rack-test (0.6.0) selenium-webdriver (0.2.2)section
du formulaire en question:
<%= form_tag :controller => "services", :action => "newaccount" do %>
<%= submit_tag "confirm", :id => "confirm", :title => "confirm", :value => "confirm", :text => "confirm", :name => "confirm" %>
<%= submit_tag "cancel", :id => "cancel", :title => "cancel", :value => "cancel", :text => "cancel", :name => "cancel" %>
<% end %>
scénario
en question:
Scenario: I register with a valid and currently active google account
Given I am not registered
When I sign in with a valid and currently active google account
And I press "confirm" # <-- THE PROBLEMATIC STEP
Then I should see "Your account has been created and you have been signed in!"
Je pense que c'est le web_step pertinent (droit de le web_steps.rb par défaut que je n'ai pas édité du tout):
When /^(?:|I)press "([^"]*)"$/ do |button|
click_button(button)
end
sortie de concombre concerné:
Scenario: I register with a valid and currently active google account # features/auth_and_auth/initial_tests.feature:6
Given I am not registered # features/step_definitions/authentication_steps.rb:1
When I sign in with a valid and currently active google account # features/step_definitions/authentication_steps.rb:5
And I press "confirm" # features/step_definitions/web_steps.rb:52
no button with value or id or text 'confirm' found (Capybara::ElementNotFound)
(eval):2:in `click_button'
./features/step_definitions/web_steps.rb:53:in `/^(?:|I)press "([^"]*)"$/'
features/auth_and_auth/initial_tests.feature:9:in `And I press "confirm"'
Then I should see "Your account has been created and you have been signed in!" # features/step_definitions/web_steps.rb:105
sortie html pertinente:
<input id="confirm" name="confirm" text="confirm" title="confirm" type="submit" value="confirm">
<input id="cancel" name="cancel" text="cancel" title="cancel" type="submit" value="cancel">
Comme il est évident, je l'ai pris en compte value
, id
, text
, ainsi que name
et title
. J'ai également vu un message qui disait que le type d'entrée devait être spécifié comme submit
, ce qui semble être le cas. Et j'ai essayé avec le bouton confirm
et le bouton cancel
. Après avoir cherché partout où je connaissais, et en essayant chaque suggestion qui semblait même à distance pertinente, je suis dans une impasse. Qu'est-ce que je rate?
Etes-vous sûr que le concombre est réellement sur la bonne page lorsque l'étape est appelée? Capybara a une méthode 'save_and_open_page' incroyablement utile .. essayez de placer cela au-dessus de l'appel click_button dans web_steps.rb et vérifiez que c'est bien sur la bonne page. – idlefingers