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)

War es hilfreich?

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?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top