Gurke + Selen nicht zufällig
-
12-09-2019 - |
Frage
Meine Selen Tests wie zu nicht zufällig. Als Beispiel habe ich dieses Szenario
Scenario: I should be able to edit a user
Given I created a user with the login "test@example.com"
And I am viewing the user with login "test@example.com"
Then I should see "Edit this user"
When I click "Edit this user"
Then I should be editing the user with login "test@example.com"
When I press "Update"
Then I should be viewing the user with login "test@example.com"
And I should see "User was successfully updated."
Diesen , zusammen mit den anderen, funktioniert mit dem Grunde webrat: Schienen-Modus. In Selen, die Zeile
Then I should be editing the user with login "test@example.com"
und
Then I should be viewing the user with login "test@example.com"
zufällig fehlschlagen, dass manchmal die erste versagt, ein anderes Mal die Sekunden ausfällt. Über die Website von Hand ergibt den korrekten Betrieb, und wie ich schon sagte, der webrat / Schienen-Modus funktioniert.
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 "test@example.com" # features/step_definitions/global_steps.rb:18
And I am viewing the user with login "test@example.com" # 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 "test@example.com" # features/step_definitions/global_steps.rb:66
expected: "/users/8/edit",
got: "/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 "test@example.com"'
When I press "Update" # features/step_definitions/webrat_steps.rb:14
Then I should be viewing the user with login "test@example.com" # 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)
Lösung
Ändern eines webrat Schritt von
When /^I press "([^\"]*)"$/ do |button|
click_button(button)
end
When /^I press "([^\"]*)"$/ do |button|
click_button(button)
selenium.wait_for_page_to_load
end
es funktioniert. Selen Telling Fixes warten!
Andere Tipps
Haben Sie zum Zeitpunkt der Anträge ausgesehen hat? Mein Bauch sagt, es ist, dass Selen zu schnell bewegt.
Können Sie Ihre Gurken Schritte und die Fehlermeldungen schreiben und melden Sie sich Informationen zu jedem Fehler?