Как проверить, что столбец таблицы содержит текст? - PullRequest
4 голосов
/ 26 марта 2012

Я делаю домашнюю работу и мне нужно проверить, есть ли в столбце таблицы 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"), чтобы вернуть true, получил false (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

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

Ответы [ 2 ]

4 голосов
/ 27 марта 2012

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

assert page.find('#movies').has_no_content?(">#{text}<")
1 голос
/ 26 марта 2012

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

...