2016-03-03 9 views
0

Описание проблемы: У меня есть тестовый класс, который имеет несколько тестовых примеров. Во время выполнения одного теста возникает ошибка «Страница не может быть загружена», а время работы водителя истекает, поскольку на странице не найден какой-либо элемент. Хотя я могу справиться с этой конкретной ситуацией, поставив инструкции try catch, но мне нужен способ проинструктировать драйвер, чтобы всякий раз, когда он достигает на любой такой странице, он должен выполнить набор действий (повторно посетить сайт, выполнить вход в систему) и возобновить тестирование от самого следующего теста в текущем тестовом классе, где он застрял.как обращаться с драйвером, чтобы пропустить текущий тест и перейти к следующему тесту в текущем тестовом классе, когда он достигает на веб-странице тупика.

Я использую Selenium с каркасом C# и Nunit 3.0.

ответ

0
try 
{ 
    //your code 
} 
catch(TimeoutException ex) 
{ 
    //go to home url 
} 
+0

Спасибо за ваш отзыв Leon, но используя это, я могу справиться с этим на уровне тестового теста, но мне нужен механизм для написания такого кода один раз на протяжении всего тестового проекта. Я думаю, что должен быть способ определить его в базовом классе (где драйвер в первую очередь создается и инициализируется). –

1

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

+0

Спасибо Кришнану, я попробую и уточню. –

+0

Привет Кришнан, Этот ответ кажется, что он может решить мою проблему, но даже после долгого исследования я не мог понять, как его реализовать. –

+0

Он предназначен для другой цели Кришнан. Я думаю, что применение глобального обработчика исключений решит проблему. У вас есть какое-то представление об этом? –