Selenium + showModalDialog( )
#1
Отправлено 01 февраля 2011 - 17:05
Есть один сайт, в котором как вы уже поняли используются модальные диалоги showModalDialog( ).
На данный момент мне известно следующее
1. Selenium из коробки не работает с модальными окнами
2. Селениум можно модифицировать, чтобы он открывал все новые окна как не модальные. линк
Второй вариант для меня заработал с одним но - некорректно обрабатываются возвращаемые диалогом значения (подробности мне не известны), а их обработка важна.
Как быть в данной ситуации?
P.S.
Попробовал подключить Watin, он модальные диалоги скушал на ура, но возникли немного другие проблемы. Так что этот вариант не рассматриваем.
#2
Отправлено 01 февраля 2011 - 21:53
Как быть в данной ситуации?
Возможны такие варианты:
1. Использовать библиотеку, в которой реализована генерация нажатий кнопок на уровне ОС (для Java - это Robot). То есть комбинируя и опытным путём подбирая нужную последовательность нажатий\кликов добиваемся закрытия окна.
2. Использовать WebDriver.
3. Использовать сторонний инструмент, например AutoIt.
4. Прочие варианты (для Windows - WinAPI или плагины для автоматического закрытия любых модальных окон) будем считать
#3
Отправлено 02 февраля 2011 - 08:41
При использовании Watin возникла следующая проблема:
Для того, чтобы модальный диалог появился, нужно нажать кнопку Add.
Просто Click() не открывает окно, работает исключительно с MouseDown(). Опытным путем было установлено, что MouseDown() не подходит (как и FireEvent()). Как еще можно кликнуть на кнопку?
Код кнопки:
<li style="float: left; height: 15px;" class="igdm_MenuItemHorizontalRoot " id="x:2002305868.3:adr:0" adr="0"> <a onclick="{return false;}" class="igdm_MenuItemHorizontalRootLink " tabindex="-1" href="javascript:void(0)" accesskey=""> <span tabindex="-1">Add</span></a></li>
#4
Отправлено 03 февраля 2011 - 09:48
Как быть в данной ситуации?
Возможны такие варианты:
1. Использовать библиотеку, в которой реализована генерация нажатий кнопок на уровне ОС (для Java - это Robot). То есть комбинируя и опытным путём подбирая нужную последовательность нажатий\кликов добиваемся закрытия окна.
2. Использовать WebDriver.
3. Использовать сторонний инструмент, например AutoIt.
4. Прочие варианты (для Windows - WinAPI или плагины для автоматического закрытия любых модальных окон) будем считатьизвратомне эффективными.
не получается с помощью WebDriver - мне надо ввсести креденшелы при входе на сайт
Вот такой простой код (на Net )
IWebDriver driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl(MY URL);
У меня Открывается диалоговое окно для ввода логина и пароля и на следующую строчку Selenium2 не переходит пока я не закрою окошко с логином и паролем
#5
Отправлено 26 апреля 2011 - 13:45
Я пытаюсь загрузить файл с помощью джаваскриптовой формы в ИЕ. Хочу использовать AutoIt для работы с File Open Dialog. К сожалению, не могу дойти до AutoIt, т.к. не срабатывает нажатие на кнопку аплоада.
При этом я вижу, что локейтор выбран правильно, т.к. кнопка "мигает" при MouseDownAt/MouseUpAt, но диалог в итоге не открывается.
Пробовала Click, MouseDownAt/MouseUpAt, focus > keyPressNative, AttachFile, табом с клавиатуры > enter. Пока ничего не сработало.
Кроме того, похоже, что методы, обходящие открытие диалога, мне не подходят, т.к. перед сохранением форма валидирует поле, которое заполняется при аплоаде. Так что нужно все-таки открыть диалог.
Ниже ДОМ, содержащий кнопку аплоада. Кликала по table и по img, keyPressNative и AttachFile передавала в input.
DOM.png 31,13К 17 Количество загрузок:
Что я делаю неправильно?
#6
Отправлено 26 апреля 2011 - 18:47
Да, это пока в WD не реализовано.не получается с помощью WebDriver - мне надо ввсести креденшелы при входе на сайт
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#7
Отправлено 26 апреля 2011 - 18:49
Надо узнать (например, у разработчиков спросить), на какой элемент обработчик повешен, и на какое конкретно событие -- и нацелить туда тест.Пробовала Click, MouseDownAt/MouseUpAt, focus > keyPressNative, AttachFile, табом с клавиатуры > enter. Пока ничего не сработало.
Или -- используйте WebDriver, там можно кликать не так прицельно, всё равно все нужные события отработают.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#8
Отправлено 27 июня 2011 - 01:33
Надо узнать (например, у разработчиков спросить), на какой элемент обработчик повешен, и на какое конкретно событие -- и нацелить туда тест.
Или -- используйте WebDriver, там можно кликать не так прицельно, всё равно все нужные события отработают.
Алексей, спасибо за ответ. Сама не нашла, действительно помогли разработчики.
Если кто-нибудь столкнется с такой проблемой, в моем случае помог щелчек по "//input[@name='applicationIcon']"
#9
Отправлено 17 января 2016 - 18:15
Здравствуйте! Подскажите пожалуйста как можно во всплывающем окне "мазилы" нажать кнопку "ОК". В принципе можно нажать и кнопку ENTER но так как это диалоговое окно "мазилы", то локатор на него не пропишешь?
#10
Отправлено 18 января 2016 - 08:32
Robot robot = new Robot(); robot.keyPress(KeyEvent.VK_ENTER); Thread.sleep(200); robot.keyRelease(KeyEvent.VK_ENTER);
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных