Не работают функции работающие с алертами javascript
#1
Отправлено 19 октября 2011 - 14:10
assertTrue(selenium.isAlertPresent()) всегда возвращает false даже когда есть попап с алертом
storeAlertPresent, verifyAlertPresent тоже не работают..
Это проблема Селениум 1 или я что-то не так делаю?
#2
Отправлено 19 октября 2011 - 14:12
В Selenium RC 2 такая проблема решена
#3
Отправлено 19 октября 2011 - 14:15
#4
Отправлено 19 октября 2011 - 15:19
Покажите страницу с алертом и код вашего сценария - попробуем что-нибудь придумать
#5
Отправлено 20 октября 2011 - 07:06
А как выгляди этот алерт? Может вы проверяете наличие алерта еще до его появления и стоит ожидать в течении, например, 10 секунд появления такого алерта?
Покажите страницу с алертом и код вашего сценария - попробуем что-нибудь придумать
Вообще алерт выглядит как на картинке.
Image 8.jpg 761,55К 26 Количество загрузок:
Он появляется при нажатии на кнопку Play когда плейлист пустой
Но когда на эту кнопку нажимаю через Селениум
selenium.click("id=btnPlay");
или через SeleniumIDE
|click | id=btnPlay | |
то алерт не появляется (или не отображается) и следующая команда как будто пропускается
verifyTrue(selenium.isAlertPresent());
на следующей строке селениум выдает ошибку
ERROR: There was an unexpected Alert! [Playlist is empty]
Еще пробовал вручную нажимть Play и когда алерт виден - в Selenium IDE выполнял |verifyAlertPresent | | |
Но так тоже не работает
#6
Отправлено 20 октября 2011 - 07:22
Selenium 1.х неадекватно работает с версиями 4.х и новее.
Ну, или переходить на Selenium 2.х WebDriver
PS Еще такой момент. isAlertPresent возвращает только наличие/отсутствие алерта. Для того чтобы его обработать надо сделать getAlert - тогда не будет ошибки "There was an unexpected Alert!"
PPS А то что при работе браузера, запущенного через Selenium, не показывается алерт - это нормально, он таким образом обрабатывается (т.е. визуально при выполнении скрипта алерт мы не увидим)
#7
Отправлено 20 октября 2011 - 08:19
Надо попробовать вернуть версию браузера на 3.6.х
Selenium 1.х неадекватно работает с версиями 4.х и новее.
Ну, или переходить на Selenium 2.х WebDriver
PS Еще такой момент. isAlertPresent возвращает только наличие/отсутствие алерта. Для того чтобы его обработать надо сделать getAlert - тогда не будет ошибки "There was an unexpected Alert!"
PPS А то что при работе браузера, запущенного через Selenium, не показывается алерт - это нормально, он таким образом обрабатывается (т.е. визуально при выполнении скрипта алерт мы не увидим)
как выяснилось в скором будущем мы будем уходить от javascript алертов к собственным попапам. так что буду ждать этого момента)
в любом случае большое спасибо за Ваши ответы
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных