Wie Ziel lokalisierte button mit RSpec und Capybara?
Ich bin mit RSpec und Capybara für Ruby on Rails testen.
Meiner Rails-app lokalisiert für eine Reihe von verschiedenen Sprachen (Englisch, Deutsch, etc.).
Zum Beispiel, ich möchte "Capybara" auf "Formular senden", aber offensichtlich nicht verwenden können, seinen Wert zu wählen es, weil sich der Wert ändert sich je nach der Sprache, die gewählt wurde.
Diese funktioniert nicht in meinem Fall:
click_button("Create my account")
Gibt es eine Möglichkeit, wählen Sie einfach die ersten input[type="submit"]
element auf der Seite mit Capybara?
Vielen Dank für jede Hilfe.
- BTW: Über eine ID ist der Weg zu gehen... Aber, normalerweise testen die Funktionalität der Klick auf eine Schaltfläche sollte nicht beeinflusst werden von verschiedenen Lokalisierung. Ich erstelle immer tests gegen die Standard-locale-label... 'en' in meinem Fall.
InformationsquelleAutor Tintin81 | 2013-02-22
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine id zuweisen-Schaltfläche, und klicken Sie
Quelle: http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Actions#click_button-instance_method
Ich würde sagen:
aber gebe es eine Klasse oder eine id, es ist viel sicherer.
find('input[type="submit"]').click
oder alternativ mit dem gleichen Ansatz wie obenall('input[type="submit"]').first.click
Einfache Weise:
Können Sie auch verengen @apneadiving Antwort über css-Selektoren:
finden("#my_form input[type='submit']").klicken Sie auf
So dass Sie nicht haben, um ändern Sie den HTML-zu-match-tests.