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

Техники локализации плавающих дефектов
онлайн, начало 19 апреля
Тестирование безопасности
онлайн, начало 21 апреля
Тестирование мобильных приложений
онлайн, начало 21 апреля
Автоматизатор мобильных приложений
онлайн, начало 21 апреля
Фотография

Перезапуск теста до падения, как? (TestNG)


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

#1 Aleksche

Aleksche

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей


Отправлено 08 ноября 2018 - 11:32

Если стало ясно что тест будет провален, к примеру сервер не ответил и нужно перезапустить

не доводя до assert как это лучше сделать?

Сейчас я просто выхожу через  SkipException соответственно тест помечается как ignored

есть гайды как перезапустить упавший тест, но я что-то не соображу как перезапустить скипнутый

Через ITestListener  onTestSkipped такое можно провернуть?


  • 0

#2 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 08 ноября 2018 - 12:44

можно тот код который хотите перезапускать заключить в try/catch и поместить в цикл

 

при успешном выполнении выставить флаг

после цикла проверить-ассертить флаг, зафейлить если флаг не выставлен


  • 0

#3 Aleksche

Aleksche

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей


Отправлено 08 ноября 2018 - 13:03

Если честно, не очень понял вашу идею, попробую перефразировать вопрос К примеру кейс у меня из десяти последовательных шагов

на 5-ом я понимаю что выполнение блокируется и выхожу по skipException 

Допустим (пока не проверял) будет вызван метод  onTestSkipped из класса  ITestListener

Вот теперь мне нужно понять как в этом методе запустить по новой скипнутый тест.

 

зы

 

Понятно что можно походу еще ассертов понаставить и перезапускать по падению

но это будут немного портить картинку


  • 0

#4 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 08 ноября 2018 - 13:24

 

 

Вот теперь мне нужно понять как в этом методе запустить по новой скипнутый тест.

вам не надо весь тест перезапускать

 

код который может зафейлится внутри теста и вам надо перезапустить - вот этот код и заключайте в try/catch


  • 0

#5 Aleksche

Aleksche

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей


Отправлено 08 ноября 2018 - 13:27

Не, не получится, это как пельмени разлепить

так короче если сервак не отозвался, приложение

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

только перезапуск только хардкор


  • 0

#6 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 08 ноября 2018 - 13:56

 

Не, не получится, это как пельмени разлепить

тест - это код

шаги внутри теста - это тоже код

 

почему вдруг шаги внутри теста нельзя перезапускать? если сервак не отозвался - значит надо перезапустить этот шаг


  • 0

#7 QuadBit

QuadBit

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

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

Отправлено 08 ноября 2018 - 19:00

Не, не получится, это как пельмени разлепить

так короче если сервак не отозвался, приложение

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

только перезапуск только хардкор

Неявные ожидания?


  • 0

#8 Little_CJIOH

Little_CJIOH

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 508 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 08 ноября 2018 - 19:09

Если я правильно понял, у тестируемой системы есть внешняя зависимость, если с ней что-то не так, система переходит в демо-режим.

 

Вы уверенны, что надо городить костыли внутри тестов, а не разбираться со стабильностью тестового окружения и с поведением тестируемой системы в нештатной ситуации?


  • 0

#9 Aleksche

Aleksche

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей


Отправлено 08 ноября 2018 - 19:29

 

 

Не, не получится, это как пельмени разлепить

тест - это код

шаги внутри теста - это тоже код

 

почему вдруг шаги внутри теста нельзя перезапускать? если сервак не отозвался - значит надо перезапустить этот шаг

 

 

Еще раз, при отсутствии ответа, приложение переходит в демо-режим

выйти из которого можно только одним способом, закрыть приложение

и запустить его заново, можно конечно запустить тест внутри теста, но

мне такой подход не нравится


  • 0

#10 Noksa

Noksa

    Активный участник

  • Members
  • PipPip
  • 117 сообщений
  • ФИО:Александр

Отправлено 09 ноября 2018 - 04:06

Что вам мешает в тесте закрыть приложение и запустить его заново?


  • 0

#11 Aleksche

Aleksche

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей


Отправлено 09 ноября 2018 - 04:26

Что вам мешает в тесте закрыть приложение и запустить его заново?

 

Многое мешает


  • 0

#12 Noksa

Noksa

    Активный участник

  • Members
  • PipPip
  • 117 сообщений
  • ФИО:Александр

Отправлено 09 ноября 2018 - 04:39

Что именно мешает? Что это за "многое"? 

 

Не получили ответ - вызвали закрытие приложения - запустили заново - и снова отправили запрос...


  • 0

#13 Aleksche

Aleksche

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

  • Members
  • Pip
  • 21 сообщений
  • ФИО:Алексей


Отправлено 26 ноября 2018 - 03:26

Решил вопрос следующим путем.  В ключевых точках делаю проверку состояния, если что-то пошло не так, тест падает

и соответственно перезапускается, в отчете такая попытка отражается как ignored


  • 0


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн



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

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

Яндекс.Метрика
Реклама на портале