Ich mache Hausaufgaben und muss überprüfen, ob die HTML-Tabellenspalte Text angegeben hat. Ich habe ein Beispiel aus web_steps.rb kopiert und versucht, es an meine Bedürfnisse anzupassen, aber der Test schlägt fehl. Schritt:Wie überprüft man, ob in der Tabellenspalte Text angegeben wurde?
And I should not see 'G'
Step-Definition, die fehlschlägt:
Then /^(?:|I)should not see '([^']*)'$/ do |text|
save_and_open_page
if page.respond_to? :should
page.find('#movies').should have_no_content(text)
else
assert page.find('#movies').has_no_content?(text)
end
end
Fehler ist:
erwartet #has_no_content ("G") true zurück, bekam falsche (RSpec?: : Erwartungen :: ExpectationNotMetError) ./features/step_definitions/movie_steps.rb:35:in
nicht sehen/^(?:|I)should not see '([^']*)'$/' features/filter_movie_list.feature:37:in
Und ich sollte 'G' '
Filme ist ID der Tabelle.
Tabelle wie folgt aussieht:
ich hier steckte und nicht weiter gehen kann. Kann mir jemand einen Hinweis geben, um dieses Problem zu lösen?
Danke, es funktioniert. Es funktioniert sogar mit 'assert page.find ('# filme'). Has_no_content? (" # {text}
Nun der Grund, warum es scheitert, ist, weil es das Kapital G in "PG" sieht. Grundsätzlich, was Sie wollen, ist keine TD-Zelle unter der "Rating" -Spalte mit einem G-Rating zu sehen, oder? Was Sie verwenden möchten, ist XPath in Ihrem Schritt, um in die TDs zu drillen und zu überprüfen, dass die ganze Zelle Ihren Text enthält/nicht enthält.
Quelle
2012-03-26 13:22:46 MrDanA
ich XPath wissen nicht sehr gut. Könnte es anders gemacht werden? –
Verwandte Themen