Тест с неожиданно возникающими alert попадает в успешно пройденные
#1
Отправлено 06 августа 2015 - 08:02
#2
Отправлено 06 августа 2015 - 08:27
Почитайте про капабилити unexpectedAlertBehaviour и какие значения она может принимать (дисмисс, ассепт, игнор).
Capabilities.setCapability("unexpectedAlertBehaviour", "ignore");
#3
Отправлено 06 августа 2015 - 10:30
Почитайте про капабилити unexpectedAlertBehaviour и какие значения она может принимать (дисмисс, ассепт, игнор).
Capabilities.setCapability("unexpectedAlertBehaviour", "ignore");
#4
Отправлено 06 августа 2015 - 11:04
Почитайте про капабилити unexpectedAlertBehaviour и какие значения она может принимать (дисмисс, ассепт, игнор).
Capabilities.setCapability("unexpectedAlertBehaviour", "ignore");Спасибо за идею, я почитал документацию. Но судя по ней, я понял, что блок, где может появится алерт должен быть заключен в try/catch, но алерт может появится в любом другом месте, соответсвенно там перехвата не будет. Я попытался добавить следующий кодDesiredCapabilities cap=DesiredCapabilities.chrome();cap.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, UnexpectedAlertBehaviour.ACCEPT);driver = new ChromeDriver(cap);Но почему то он по-прежнему никак не реагирует на алерт.Более того, не могу понять почему это тест не помечается как проваленный. В логе выходит стэк ошибки (unexpected alert open), а в конце выходит Total tests run: 0, Failures: 0, Skips: 0. Т.е. как будто он и не проходил.Тест запускаю с jar файла. При запуске теста из компилятора, он реагирует на ошибку и помечает тест как проваленный из-за timeout
"Тест запускаю с jar файла" - ух ты, а это как?
"Более того, не могу понять почему это тест не помечается как проваленный." - Вот по этому: Total tests run: 0, Failures: 0, Skips: 0
#5
Отправлено 06 августа 2015 - 11:20
"Тест запускаю с jar файла" - ух ты, а это как?
"Более того, не могу понять почему это тест не помечается как проваленный." - Вот по этому: Total tests run: 0, Failures: 0, Skips: 0
В main к классу Testng указал все классы содержащие тесты, и далее run(). Этот запуск по идее ничем не должен отличаться от запуска из maven. А вот то что он не ловит случайный алерт как ошибку, и игнорирует уже запущенный тест - это странно
#6
Отправлено 06 августа 2015 - 14:48
У вас какой-то отчет генерируется или же вы судите об отсутствии ошибки в тесте по "Total tests run: 0, Failures: 0, Skips: 0" ?
#7
Отправлено 07 августа 2015 - 03:44
У вас какой-то отчет генерируется или же вы судите об отсутствии ошибки в тесте по "Total tests run: 0, Failures: 0, Skips: 0" ?
В конце теста расширил класс TestListenerAdapter, в котором в общий список попадают тесты по одному из критериев: успешно, провалено, пропущено (сделано чтобы не листать весь лог). Но первый раз вижу чтобы тест запускался, но из-за неожиданного открывшегося алерта, он никуда не попадал и никак не отмечался.
#8
Отправлено 11 августа 2015 - 15:45
Попробуйте через Expected conditions:
try { wait.until(ExpectedConditions.alertIsPresent()); Alert alert = driver.switchTo().alert(); assertEquals(alert.getText(), text); alert.accept(); } catch (AssertionError ae){ System.out.println("Неправильный текст алерта"); throw ae; } catch (TimeoutException e){ System.out.println("Не дождались алерта"); throw e; }
#9
Отправлено 24 августа 2015 - 06:33
Попробуйте через Expected conditions:
try { wait.until(ExpectedConditions.alertIsPresent()); Alert alert = driver.switchTo().alert(); assertEquals(alert.getText(), text); alert.accept(); } catch (AssertionError ae){ System.out.println("Неправильный текст алерта"); throw ae; } catch (TimeoutException e){ System.out.println("Не дождались алерта"); throw e; }Пробему с ожиданием алерта уже решил, Спасибо. Осталась проблема с неожиданно возникшим алертом, который не ожидается в тесте. В итоге тест игнорируется как не запускавшийся после прохождения. При единичном запуске это заметно, но если представить что тестов много и они идут параллельно, получается один тест вылетает из кучи и нигде не фиксируется. Не очень хорошая перспектива. Ошибка есть - записи о ней нет
Темы с аналогичным тегами Alert, WebDriver, TestNG
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных