Перейти к содержимому

Фотография

Не отрабатывают условия и действия в определенной ситуации


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Kastet

Kastet

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 09 ноября 2011 - 14:25

Добрый день.
Я написал тест с использованием WebDriver и у меня в этом тесте много проверок, наподобие таких:

Assert.AreEqual("Вы уверены, что хотите удалить запись?", driver.FindElement(By.XPath("//div/div[2]/p")).Text.Trim());


Но если одна проверка не отрабатывает, то и все следующие за ней проверки и действия также не будут отрабатывать.
Как мне сделать так, что в рамках одного теста проходили все проверки независимо от их результата?
Заранее спасибо.
  • 0

#2 Captiva

Captiva

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 09 ноября 2011 - 14:57

Я сравниваю с помощью обычной булевой переменной. Если false, увеличиваю счетчик ошибок на 1, и перехожу к следующей проверке. В конце теста сравниваю фактическое кол-во ошибок с ожидаемым с помощью Assert'a. Если была хоть одна ошибка, тест завалится на последнем шаге, если нет - пройдет.
  • 0

#3 stmark

stmark

    Опытный участник

  • Members
  • PipPipPipPip
  • 404 сообщений
  • ФИО:Докучаев Сергей
  • Город:Ярославль


Отправлено 09 ноября 2011 - 15:27

А что даст такой Assert? Информацию где-то в логах?
В целом можно поступить так:
1. Каждый отдельный Assert сделать тестом, который будет падать и не мешать остальным
2. Шаги, необходимые для того, что бы добраться до этих мест - выносим в сетап
3. Объединяем всё это в testfixture и радуемся :)
  • 0

#4 Captiva

Captiva

    Новый участник

  • Members
  • Pip
  • 7 сообщений

Отправлено 09 ноября 2011 - 16:38

stmark, хорошая идея, спасибо!
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных