Mes tests de sélénium comme à échoue au hasard. À titre d'exemple, j'ai ce scénarioconcombre + sélénium échoue au hasard
Scenario: I should be able to edit a user
Given I created a user with the login "[email protected]"
And I am viewing the user with login "[email protected]"
Then I should see "Edit this user"
When I click "Edit this user"
Then I should be editing the user with login "[email protected]"
When I press "Update"
Then I should be viewing the user with login "[email protected]"
And I should see "User was successfully updated."
Ceci, ainsi que les autres, fonctionnent bien en utilisant la base Webrat: rails en mode. En sélénium, la ligne
Then I should be editing the user with login "[email protected]"
et
Then I should be viewing the user with login "[email protected]"
échouent au hasard dans la mesure où parfois le premier échoue, d'autres fois les secondes échoue. L'utilisation du site par les résultats de la main dans le bon fonctionnement, et comme je l'ai dit, le mode Webrat/rails fonctionne très bien.
Rails 2.2.2 concombre 0.3.7 sélénium 1.1.14 (fixé à travailler avec FF3)
Quelques infos supplémentaires:
Scenario: I should be able to edit a user # features/admin_priviledges.feature:26
Given I created a user with the login "[email protected]" # features/step_definitions/global_steps.rb:18
And I am viewing the user with login "[email protected]" # features/step_definitions/global_steps.rb:60
Then I should see "Edit this user" # features/step_definitions/webrat_steps.rb:93
When I click "Edit this user" # features/step_definitions/webrat_steps.rb:18
Then I should be editing the user with login "[email protected]" # features/step_definitions/global_steps.rb:66
expected: "https://stackoverflow.com/users/8/edit",
got: "https://stackoverflow.com/users/8" (using ==)
Diff:
@@ -1,2 +1,2 @@
-/users/8/edit
+/users/8
(Spec::Expectations::ExpectationNotMetError)
features/admin_priviledges.feature:31:in `Then I should be editing the user with login "[email protected]"'
When I press "Update" # features/step_definitions/webrat_steps.rb:14
Then I should be viewing the user with login "[email protected]" # features/step_definitions/global_steps.rb:66
And I should see "User was successfully updated."
Then /^I should be (editing|viewing) the (\w+) with (\w+) "([^\"]*)"$/ do |action,model,field,value|
func = make_func(action,model)
m = find_model_by_field_and_value(model,field,value)
URI.parse(current_url).path.should == eval("#{func}(m)")
end
Ce sont les étapes pertinentes. La presse « Mise à jour » est une étape standard Webrat (de click_button)
Ajout de plus d'informations. Puis-je définir la vitesse du sélénium à partir du bloc Webrat.configure? –
Des solutions là-dessus? Il semble que j'ai le même problème. –