Meine Selen-Tests scheitern gerne nach dem Zufallsprinzip. Als Beispiel habe ich dieses SzenarioGurke + Selen scheitert nach dem Zufallsprinzip
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."
Dies, zusammen mit den anderen arbeiten den Grund webrat fein mit: Modus Schienen. In Selen, die Linie
Then I should be editing the user with login "[email protected]"
und
Then I should be viewing the user with login "[email protected]"
zufällig fehlschlagen, dass manchmal die erste versagt, ein anderes Mal nicht die Sekunden. Die Verwendung der Website von Hand führt zu der richtigen Operation, und wie ich schon sagte, funktioniert der Webrat/Rails-Modus gut.
Rails 2.2.2 Gurke 0.3.7 Selen 1.1.14 (fest mit FF3 arbeiten)
einige zusätzliche Informationen:
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
Das sind die entsprechenden Schritte. Die Presse "Update" ist ein Standard Webrat Schritt (click_button)
Weitere Informationen hinzugefügt. Kann ich die Geschwindigkeit von Selen aus dem Webrat.configure Block setzen? –
Irgendwelche Lösungen auf diesem? Es scheint, als hätte ich das gleiche Problem. –