Обработка исключений в Selenium WebDriver - PullRequest
2 голосов
/ 06 января 2012

Как Selenium обрабатывает исключения?Я использую Selenium с прошлых нескольких месяцев, и я столкнулся с проблемой, так как мой тестовый пример работал очень неравномерно.Некоторое время он выдает исключение, и когда я снова запускаю тот же тест, он выполняется упорядоченно.Это ошибка или какое-то исключение?

Ответы [ 2 ]

2 голосов
/ 06 января 2012

Ваши тесты Selenium должны быть в состоянии провалиться, но не из-за возникающих исключений. Если ваши тесты не проходят исключений, то, скорее всего, у вас нет обработки исключений. При этом у вас нет возможности очистить объект WebDriver.

Тесты должны быть неудачными в соответствии с вашими условиями. Это обобщение, так как оно зависит от того, как написаны ваши тесты и какие создаются исключения. Например, вы никогда не должны получать исключения, такие как NullPointerException, но если вы получаете такие, как ElementNotFoundException, то это может быть связано с тем, что страница загружается недостаточно быстро. В этом случае вы бы увеличили неявное время ожидания. Если действительно исключительный случай возникает, когда выдается исключение, вы должны решить, как его обработать. Собираетесь ли вы перебрасывать его позже в конце теста, распечатываете журнал ошибок и т. Д.

2 голосов
/ 06 января 2012

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

WebDriver driver = new InternetExplorerDriver();
try
{
    // do something with webdriver, e.g.
    driver.get("http://localhost/");
    driver.findElement(By.name("btn")).click();
}
catch (Exception)
{
     // Handle exception, ignore it or log it
}
...