Как мне договориться о окнах оповещений в Watir? - PullRequest
1 голос
/ 17 мая 2011

Я пытаюсь создать скрипт автоматизации для веб-сайта, используя Ruby с Watir.

Я столкнулся с ситуацией, когда мне пришлось выбрать «Да» или «Нет» в окне предупреждения.Проблема в том, что я не могу идентифицировать окно оповещения как компонент страницы, чтобы я мог получить его идентификатор и использовать его для выбора опции.

Я нашел некоторую информацию о том, как создать окно оповещения., но мне нужно перемещаться по одному.Кто-нибудь может мне помочь?

Ответы [ 3 ]

3 голосов
/ 17 мая 2011

Похоже, у вас есть поле confirm, если вы можете выбрать два варианта («ОК» или «Отмена»). Если вы хотите смоделировать нажатие кнопки «ОК», вы должны поставить что-то вроде этого перед тем, как вызвать подтверждение.

# return true for confirm to simulate clicking OK
b.execute_script("window.confirm = function() {return true}")

Если у вас просто есть alert с одной кнопкой «ОК», сделайте это.

# don't return anything for alert
b.execute_script("window.alert = function() {}")

Подробнее см. на этой странице .

1 голос
/ 22 декабря 2011

Подход, предложенный Остином Тейлором, может работать хорошо, но я думаю, что для более общего решения вам нужно иметь дело с всплывающими окнами на уровне операционной системы, как предлагает Чак.

Если кто-то заходит на эту страницу в поисках такого рода ответа, здесь перечислены различные решения: http://wiki.openqa.org/display/WTR/JavaScript+Pop+Ups

0 голосов
/ 27 апреля 2015

Вы можете использовать эти чистые вызовы watir:

  • browser.alert.ok
  • browser.alert.close

См. ОфициальныйFramework Framework Документация для получения дополнительной информации.

...