Watir: Как проверить, что текст не присутствует на веб-странице - PullRequest
4 голосов
/ 13 апреля 2011

Я пишу тест, в котором удаляю запись, и мне нужно убедиться, что записи больше нет после того, как я ее удалил.Я знаю, как проверить, что текст записи присутствует на странице с помощью «browser.text.include?», Но есть ли способ проверить, является ли текст не присутствует вместо?Мне нужно, чтобы тест не прошел, если текст все еще присутствует после того, как он предположительно был удален.Я искал, но единственные хиты, которые я получаю при поиске, говорят мне, как проверить текст присутствует присутствует - что противоположно тому, что мне нужно.

Ответы [ 4 ]

4 голосов
/ 14 апреля 2011

browser.text.include? возвращает логическое значение (на самом деле это TrueType или falseType, но это не время для этого обсуждения), поэтому отрицание его приведет к обратному поиску.

do_a_faily_thing if not browser.text.include? "badgers are eating my face"

Не стесняйтесь настраивать под свои нужды. PS. Это в основном ответ Рай, только с барсуками, пожирающими лицо.

Добавлено для исторического интереса, по предложению Чака:

do_a_faily_thing unless browser.text.include? "face-eating-badger-eating-badgers are eating my face-eating badgers"

Добавлено, чтобы показать пример "else":

if browser.text.include? "badgers are eating my face"
   do_a_thing
else
   phew_no_badgers
end
2 голосов
/ 13 апреля 2011

или в зависимости от того, какую среду тестирования вы используете

# RSpec and/or Cucumber
browser.text.include?("my string").should != true

# TestUnit
assert(browser.text.include?("my string") != true)
2 голосов
/ 13 апреля 2011

Как насчет:

   !browser.text.include?("my string")
0 голосов
/ 14 апреля 2011

Если запись обернута HTML-элементом, используется ли существует? Метод - это еще один способ проверить существование.

удаленная запись (образец)

<p class='foo'>bar</p>

проверочный скрипт

p(:class,'foo').exist?
...