2012-03-26 3 views
4

Я делаю домашнее задание и должен проверить, предоставил ли столбец таблицы HTML. Я скопировал пример из web_steps.rb и попытался измениться, чтобы соответствовать моей потребности, но тест завершился неудачно. Шаг:Как проверить, предоставил ли столбец таблицы текст?

And I should not see 'G' 

определение Шаг, который не удается:

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 

Ошибка:

ожидается #has_no_content ("G"), чтобы вернуться правда, получил ложную (RSpec: : Ожидания :: ExpectationNotMetError) ./features/step_definitions/movie_steps.rb:35:in /^(?:|I)should not see '([^']*)'$/' features/filter_movie_list.feature:37:in И я не должен видеть 'G' '

фильмы - это идентификатор стола.

Таблица выглядит следующим образом: enter image description here

Я застрял здесь и не мог идти дальше. Может кто-нибудь дать мне некоторый намек на решение этой проблемы?

ответ

4

Вы можете попробовать:

assert page.find('#movies').has_no_content?(">#{text}<") 
+1

Спасибо, он работает. Он работает даже с 'assert page.find ('# movies'). Has_no_content? (" # {текст} ")' –

1

Ну, причина в том, что это не так, потому что он видит столицу G в «PG». В принципе, вы хотите видеть не TD-ячейку в столбце «Рейтинг», имеющую рейтинг G, правильно? То, что вы, возможно, захотите использовать, - это XPath на вашем шаге, чтобы перейти к TD и проверить, что ячейка целиком содержит/не содержит ваш текст.

+0

Я не знаю, XPath очень хорошо. Можно ли это сделать иначе? –

Смежные вопросы