«Тогда я должен видеть», шаг Капибары слишком конкретен в отношении объема - PullRequest
0 голосов
/ 25 марта 2011

Моя страница имеет тег <th>, который имеет "посещаемость" в качестве своего класса CSS. Следующий шаг огурца не удается:

Then I should see "Name" within "th"

пока этот проходит:

Then I should see "Name" within "th.attendance"

Мне действительно нужно использовать этот уровень специфичности? Мне кажется, что для Cucumber это требует слишком много знаний о тестируемом базовом коде, и он должен быть немного более общим.

Другими словами, как бы я сказал: «Просто найдите« [значение] »внутри любого тега th»? И я не прав, что хотел это сделать?

1 Ответ

3 голосов
/ 30 марта 2011

Попробуйте следующее.Он находит данный текст в данном селекторе, используя xpath."//#{selector}" означает, что он должен найти тег, соответствующий селектору."[contains(text(),'#{text}']" означает, что текст тега должен содержать данный текст.

Then /^I should see "([^"]*)" within "([^"]*)"$/ do |text, selector|
  find(:xpath, "//#{selector}[contains(text(),'#{text}')]").should_not(be_nil, "Could not find the text '#{text}' within the selector '#{selector}'")
end
...