2012-04-09 9 views
12

ich mit Schienen arbeitete 3 und derzeit mit Capybara mit Selen-Treiber zu schreiben Test, Ich habe Frage, wie untenKlick auf einer bestimmten Schaltfläche mit Capybara in Schienen

In einer Form Ich habe 3 Schaltfläche mit dem Namen „speichern und hinzufügen ein anderer“,‚speichern und die Bearbeitung fortzusetzen‘und‚speichern‘ Nun, wenn ich versuche, wie unten

click_button 'Save' 

Dann ist dieser wirft Fehler genannt Schaltfläche‚speichern‘mit der ID, Titel oder Wertform von capybara zu speichern nicht gefunden Nun, wenn ich die oben genannten 2 Tasten entfernen und dann versuche ich, dann funktioniert es

FYI, My 3 Schaltfläche html wie unten,

<input class="btn" type="submit" value="Save and add another" name="_addanother" data-disable-with="Save and add another">

<input class="btn" type="submit" value="Save and continue editing" name="_continue" data-disable-with="Save and continue editing">

<input class="btn" type="submit" value="Save" name="_save" data-disable-with="Save">

Bitte lassen Sie mich wissen, wenn jemand eine Idee hat.

+0

Versuchen Sie, click_button "Save" (doppelte Anführungszeichen). Haben Sie versucht, jeder Schaltfläche eine eindeutige ID hinzuzufügen und diese anstelle des Werts zu verwenden? – DanS

+0

Dans, ja, ich habe versucht, indem ich IDs zu den Tasten, aber das funktioniert nicht –

+0

Welche IDs haben Sie ihnen? – DanS

Antwort

9

Ich denke, das Problem ist, dass alle Werte ein Spiel zurück, weil sie alle auf ‚Speichern‘ enthalten.

Versuchen Sie, jedem eine eindeutige ID zuzuweisen und diese stattdessen zu verwenden. von der GitHub docs -

+1

Hmm Danke, ich habe Platzids und es funktioniert –

0

click_button Methoden erwartet ID, Name, Wert der Schaltfläche. Unten funktioniert.

click_button 'Save and add another' 
click_button 'Save and continue editing' 

Und letzte Taste funktioniert ohne Fehler, da sein Wert auf ‚Speichern‘

click_button 'Save' 
+0

Ich denke, das Problem ist, dass der letzte nur funktioniert, wenn die anderen Tasten werden entfernt ... – DanS

+0

Danke, aber ja, ich weiß, dass 'Speichern' Button funktionieren sollte, wenn ich 'click_buttion 'speichern' schreibe, aber zur Zeit funktioniert es nicht und es löst einen Fehler aus, wie ich in meiner Frage gesagt habe. wenn ich meine über 2 Knöpfe entferne, dann funktioniert nur diese 'click_button 'Save'' –

+0

Ja DanS, Sie haben Recht .. das ist das Problem –

-1

Ich habe mit der folgenden Lösung

Modul ValidUserRequestHelper

# for use in request specs 
def sign_in_as_a_valid_user 
    before(:each) do 
    user = FactoryGirl.create :user 
    visit user_session_path 
    fill_in 'user_email', :with => '[email protected]' 
    fill_in 'user_password', :with => 'foobar' 
    click_button 'Einloggen' 
    end 
end 
1

Matching With Exactness kommen. Die Verwendung von Genauigkeit würde wahrscheinlich weniger Auswirkungen haben als die Änderung Ihrer Vorlagen.

click_button('Save', exact: true)

Dies würde finden nur die genaue Übereinstimmung und lassen Sie die ‚blah Speichern‘ Aktion.

Verwandte Themen