Как мне проверить модальные диалоги с Selenium? - PullRequest
8 голосов
/ 15 мая 2009

Я начинаю работать с Selenium IDE и пытаюсь протестировать веб-приложение, полное модальных диалогов (window.showModalDialog).

Запись теста, кажется, работает (за исключением того, что в журнале ничего не появляется, когда появляется диалоговое окно), но они не воспроизводятся должным образом. Сценарий фактически открывает окно (запускается нажатием кнопки), но затем просто ждет бесконечно.

Есть предложения?

Ответы [ 4 ]

3 голосов
/ 01 июля 2011

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

  • выполнить скрипт на самой медленной скорости
  • когда модал открывается, я использую команду waitForElementPresent, чтобы проверить наличие хотя бы одного из составляющих элементов на странице; аргументом является то, что, если один элемент загружается правильно, можно с уверенностью предположить, что все элементы и, следовательно, модальное окно загружены правильно.

Надеюсь, это поможет. Если вам нужна дополнительная помощь, вы можете поделиться со мной кодом вместе с ошибкой выполнения, которую выдает вам IDE.

3 голосов
/ 15 мая 2009

Из Selenium FAQ , Selenium, очевидно, работает с некоторыми типами диалогов, но не с другими:

Я не могу взаимодействовать с всплывающим диалогом. Мой тест останавливается на своих треках!

Можно, но только если диалоговое окно диалоговое окно предупреждения или подтверждения. Другой специальные диалоги не могут быть отклонены JavaScript, и, следовательно, в настоящее время не может быть взаимодействовать с. К ним относятся «Сохранить файл», «Запомнить этот пароль» (Firefox) и модальные (IE) диалоги. Когда они появляются, Selenium может только скручивать руки в отчаянии.

Чтобы решить эту проблему, вы можете использовать обходной путь (если таковой существует); иначе возможно, вам придется исключить тест из ваш автоматизированный корпус. Для "Сохранить Файл »в Firefox, пользовательский шаблон может быть указан при запуске через RC, который всегда будет вызывать файл для загрузки в указанный местоположение, не запрашивая пользователя (увидеть http://forums.openqa.org/thread.jspa?messageID=31350). Диалог «Запомнить этот пароль» не должен появляться снова после того, как вы выбрал, чтобы запомнить это. В настоящее время там не так много, что можно сделать с IE модальные диалоги.

Кажется, я помню, как кто-то работал над этим с помощью скрипта AutoHotKey , который закрывал диалог.

2 голосов
/ 20 июня 2009
0 голосов
/ 26 января 2016

Вот так я обрабатываю всплывающее предупреждение в Selenium IDE

Щелкните правой кнопкой мыши на элементе (в данном случае это всплывающее окно), есть команда, которую вы можете выбрать. Там также показать все доступные команды, которые могут быть полезны. Вы должны использовать AssertElementPreset, и я думаю, что лучшим локатором в этом случае является CSS. Таким образом, вы можете выбрать AssertElementPresent.

Или

вы можете использовать две команды в Selenium IDE

selectWindow | null
verifyElementPresent | css=div.content

Надеюсь, это поможет!

...